Automatic transformation of XML namespaces/Transformations/Requirements

This section is both non-normative and informal.

It is described in an informal style, first giving an approximate idea and then describing some additions and corrections to the idea.

This section describes requirements for computer programs ("transformers") used as steps in XML transformations.

As this section is non-normative, there is no requirement that transformers conform to the requirements stated in this section. Even if a transformer does not conform to this section, the rest of this standard applies and should work correctly (as described in other sections) despite of a non-conformance of a transformer to this section.

A transformation from a namespace A to a namespace B consists of a series of replacements.

A replacement replaces an XML node X of namespace A with a node Y of namespace B. To the node Y there can be added child nodes, these child nodes are either of the namespace A, namespace B, or namespaces of descendant nodes of the node X.

Rationale: This rule about replacements rules out situations when for example a node influences namespaces (after a replacement) of it parent nodes or sibling nodes, etc.

Correction: A node Y after the replacement may be of the namespace of a namespaced attribute of the node X.