2.2.1 [NamespacesXML1.1] Section 3, Declaring Namespaces
C0001:
-
Definition: A namespace (or more precisely, a namespace binding) is declared using a family of reserved attributes. Such an attribute's name must either be xmlns or begin xmlns:. These attributes, like any other XML attributes, may be provided directly or by default.
MSXML3 and MSXML6
The namespace attributes can only be provided directly and not by default.
C0002:
-
The attribute's normalized value MUST be either a URI reference — the namespace name identifying the namespace — or an empty string. The namespace name, to serve its intended purpose, SHOULD have the characteristics of uniqueness and persistence. It is not a goal that it be directly usable for retrieval of a schema (if any exists). Uniform Resource Names [RFC2141] is an example of a syntax that is designed with these goals in mind. However, it should be noted that ordinary URLs can be managed in such a way as to achieve these same goals.
MSXML3 and MSXML6
The normalized value of the namespace declaration can
only be set as the value of default namespace xmlns
but not any other specific namespace such as xmlns:xxx
.
C0003:
-
The prefix xml is by definition bound to the namespace name http://www.w3.org/XML/1998/namespace. It MAY, but need not, be declared, and MUST NOT be bound to any other namespace name. Other prefixes MUST NOT be bound to this namespace name, and it MUST NOT be declared as the default namespace.
MSXML3 and MSXML6
The following clarifications apply:
The prefix xml cannot be declared even if the namespace name to bind to is declared.
Other prefixes can be bound to the namespace name, and it can be declared as the default namespace.