ORA-XQ-142-C: which is "larger", XML 1.0 or 1.1?

SECTION A.2 : lexical structure

The first sentence characterizes the legal characters of XML 1.1
as forming a "larger set" than those of XML 1.0.  Actually,
it is the other way around: Char in XML 1.1 is a subset of 
Char in XML 1.0 (a lot of characters called "discouraged" in
the XML 1.0 Errata have been removed in XML 1.1).  

What you may be thinking of in this sentence is that
Name in XML 1.1 is a superset of Name in XML 1.0.  This is
true, but it is not exactly relevant, since XQuery never
references Name.  Instead, the basic component of your identifiers
is NCName, which is defined in either "Namespaces in XML"
(i.e., XML 1.0) or "Namespaces in XML 1.1".  Unfortunately,
D.2 "Normative references" does not reference the latter.

In summary, what I think you want for the first sentence is
"It is implementation defined whether
the lexical rules of [XML 1.0] and [XML Names] are followed,
or alternatively, the lexical rules of [XML 1.1] and 
[XML Names 1.1] are followed." (using [XML Names 1.1] as the
normative reference to "Namespaces in XML 1.1"). 

There are other possible resolutions.  One would be that
implementations have two choices: 1. whether Char is XML 1.0
or XML 1.1, and 2. whether NCName is playing by 1.0 or 1.1 rules.  
Another resolution would be that implementations
can choose either the most restrictive for both (ie, Char from
XML 1.1 and NCName from 1.0) or the most inclusive for both
(ie, Char from XML 1.0 and NCName from XML 1.1).

- Steve B.

Received on Monday, 16 February 2004 16:27:21 UTC