[Bug 9808] [FO] fn:QName $paramUri need not be a valid xs:anyURI

http://www.w3.org/Bugs/Public/show_bug.cgi?id=9808





--- Comment #1 from Michael Kay <mike@saxonica.com>  2010-05-26 21:59:50 ---
This area is a total minefield.

First, the rules for exactly what is allowed in an xs:anyURI are far from
clear. XSD 1.1 gives up on this, and says any sequence of Unicode characters is
allowed.

Secondly, the namespaces specs (both 1.0 and 1.1) are not prescriptive about
exactly what's allowed in a namespace name ("URI"). They talk about it being a
URI/IRI respectively, but they never say that a document is ill-formed if the
namespace name isn't a valid URI/IRI. So parsing a well-formed document can
produce an XDM model in which there are namespace names that are not valid
URIs.

To further muddy the waters, xs:anyURI allows relative URI references, which
are strongly deprecated as namespace names, but nevertheless legal.

For these reasons, the XQuery spec states in regard to URILiterals (as used in
namespace declarations) that "However, an implementation MAY raise a static
error [err:XQST0046] if the value of a URILiteral is of nonzero length and is
not in the lexical space of xs:anyURI." - that is, it's up to implementations
how much checking to do, and what rules to enforce. With XSD 1.1, there are no
restrictions left to enforce.

At the most, fn:QName should be permissive about the checking that is done,
along the same lines as the rules for URILiteral in XQuery.

-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Wednesday, 26 May 2010 21:59:52 UTC