[Home] [By Thread] [By Date] [Recent Entries]


> Technically this is not a valid URI and therefore not a legal 
> namespace name.

That depends which spec you read. According to the namespaces Rec, any
string is a legal namespace name. Yes, they talk throughout of URIs (or in
1.1, IRIs) but the spec doesn't say it's an error if it's not a URI/IRI, and
I believe the omission is deliberate. Therefore, non-URIs are legal
namespace names.

The Namespaces Rec says: "[Definition:] The attribute's value, a URI
reference, is the namespace name identifying the namespace." But in its
conformance section it doesn't say a document is non-conformant if the value
isn't a valid URI reference; nor does the spec contain any definition or
reference saying exactly what it means by a "URI reference".

The Infoset says: "This specification does not define an information set for
documents which use relative URI references in namespace declarations." This
reflects a lively controversy over whether or not relative namespace URIs
should be resolved against a base URI (the outcome being that no-one could
agree, so they decided to deprecate their use), but it doesn't resolve the
issue of whether a document that says xmlns="####" is
legal/conformant/well-formed or not: let alone xmlns="    ".

Basically, the naming and addressing foundations of XML are a disgraceful
shambles, and anyone building higher-level specs like XSLT and XQuery on
these shaky foundations simply has to improvise.

Michael Kay
http://www.saxonica.com/ 



Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member