Re: [xml-dev] My report on experiments with unused namespaces

From
Pete Cordell <>
To
Date
2010-09-22T12:13:37Z
ID
<5A611A91E01C41869F6BDA3C8280C7B7@Codalogic>
Thread
Re: [xml-dev] My report on experiments with unused namespaces
Original Message From: "Amelia A Lewis"
> On Tue, 21 Sep 2010 19:49:01 -0700, Ramkumar Menon wrote:
>> for e.g. [
>> <orderInfo xmlns:poid="1234" xmlns:description="sampleOrder"
>> xmlns:numberOfItems="3"/>
>>
>> How Lovely!
>> ]
>
> <snicker />
>
> Beautiful!  Not only abuse of namespace declarations (but perfectly
> legal, of course), but also abuse of the laxity of definition of URI
> within W3C.

Digging deeper I would say that the above is NOT a legal XML document.

XML 1st Ed (http://www.w3.org/TR/1998/REC-xml-19980210) says:

    Names beginning with the string "xml", or any string which would
    match (('X'|'x') ('M'|'m') ('L'|'l')), are reserved for standardization 
in
    this or future versions of this specification.

So if the XML example is not namespace aware then it is iilegal because it 
uses an attribute that begins with "xml".

If it is namespace aware, then Namespaces in XML (3rd Ed) says:

    An XML namespace is identified by a URI reference [RFC3986].

and further says:

    The attribute's [the one defining the prefix/namespace mapping]
    normalized value MUST be either a URI reference - the
    namespace name identifying the namespace - or an empty string.

RFC3986 says:

    URI         = scheme ":" hier-part [ "?" query ] [ "#" fragment ]

So xmlns:numberOfItems="3" is not legal.

Pete Cordell
Codalogic Ltd
Interface XML to C++ the easy way using XML C++
data binding to convert XSD schemas to C++ classes.
Visit http://codalogic.com/lmx/ or http://www.xml2cpp.com
for more info