- From: Thompson, Bryan B. <BRYAN.B.THOMPSON@saic.com>
- Date: Wed, 18 Aug 2004 09:21:02 -0400
- To: "'www-xml-linking-comments@w3.org'" <www-xml-linking-comments@w3.org>
- Cc: "Bebee, Bradley R." <bebeeb@US-McLean.mail.saic.com>
I would like to report on two ambiguities recognized during an implementation of the xmlns() scheme [1]. 1) The xmlns() scheme syntax rules are somewhat ambiguous as written: [1] XmlnsSchemeData ::= NCName S? '=' S? EscapedNamespaceName [2] EscapedNamespaceName ::= EscapedData* The ambiguity is that EscapedData may contain whitespace. The intention of the specification appears to be that leading whitespace is absorbed by the "S" production and not incorporated into the EscapedNamespaceName production. If so, then this should be made clear to the reader. 2) The second ambiguity is the meaning of the xmlns() scheme when the EscapedNamespaceName production matches an empty string. For example: xmlns(x=) or xmlns(x= ) or xmlns( x = ) The processing behavior when the namespace name is "" is, presumably, governed by the Namespaces-in-XML[2] Recommendation. However, the most nearly relevant language in that Recommendation is: The default namespace can be set to the empty string. This has the same effect, within the scope of the declaration, of there being no default namespace. But the pointer part "xmlns(x=)" does not effect the default namespace. Some possible interpretations of the pointer part "xmlns(x=)" are: a) It is an processing error, in which case the syntax for xmlns() scheme data need not allow this production; or b) It is intended to cause the namespace prefix "x" to no longer be associated with a namespace name, in which case this should be explicitly stated. Thanks, -bryan [1] http://www.w3.org/TR/xptr-xmlns/ [2] http://www.w3.org/TR/REC-xml-names/
Received on Wednesday, 18 August 2004 13:21:13 UTC