2.1.1 [NamespacesXML1.1] Section 3, Declaring Namespaces

C0004:

The specification states:

 The prefix xmlns is used only to declare namespace bindings and is by definition 
 bound to the namespace name http://www.w3.org/2000/xmlns/. It MUST NOT be declared. Other prefixes MUST NOT be bound to this namespace name, and it MUST NOT be declared as the default namespace. Element names MUST NOT have the prefix 
 xmlns.

MSXML3 and MSXML6

Other prefixes can be bound to the namespace name http://www.w3.org/2000/xmlns/.

C0005:

The specification states:

 All other prefixes beginning with the three-letter sequence x, m, l, in any case 
 combination, are reserved. This means that: 
 • users SHOULD NOT use them except as defined by later specifications
 • processors MUST NOT treat them as fatal errors.

MSXML3

The namespace prefix is not allowed to start with the reserved string "xml", in any case combination.

MSXML6

Namespace* is allowed with the reserved string "xml".