Next in thread → Next in month →

RE: [xml-dev] Unicode and attribute URI values?

From
Michael Kay <>
To
,
Date
2005-09-16T09:03:55Z
Thread
RE: [xml-dev] Unicode and attribute URI values?
This area is a total disaster zone - given that URIs are supposed to be the
foundation of the web, they are a pretty rocky foundation. 

XML itself says that a system identifier "is a URI", but it doesn't say that
it's an error if it isn't, so it seems that parsers that accept a Windows
filename here aren't actually non-conformant.

XML namespaces similarly says that a namespace name is a URI, but it's not
an error if it isn't. (In 1.1, change that to IRI, but the problem
essentially remains.)

The XML Schema spec is a bit clearer. It does explicitly say that the anyURI
type accepts what I call wannabe-URIs (strings that can be turned into valid
URIs by escaping special characters).

Add to this ambiguities within the RFCs - for example the BNF syntax in
RFC2396 doesn't allow the empty string as a (relative) URI, but goes to some
length to explain its semantics. Is an empty string a valid instance of
xs:anyURI? Your guess is as good as mine.

If you're designing your own vocabulary then I think you have complete
freedom to decide what's allowed in your own attribute values. Use the type
xs:anyURI, and then state any constraints you want to impose, e.g. that it
must not contain spaces. Try to define it more clearly than the base specs
manage.

Michael Kay
http://www.saxonica.com/
Next in thread → Next in month →