Syntax: id symbol expansion

I have implemented the new Syntax in ARP.
I had a few issues, mainly with the test cases.
One substantive issue with the text is as follows:


====


In M&S rule [6.21] we have:

[[[
 [6.21] IDsymbol       ::= (any legal XML name symbol)
]]]

where the hyperlink on XML name is to

http://www.w3.org/TR/REC-xml#NT-Nmtoken


In the new WD we have:

http://www.w3.org/TR/rdf-syntax-grammar/#rdf-id

[[[
An attribute ·string-value· matching any legal [XML] token Nmtoken
]]]

Looking at it I think neither is correct and suggest that instead it
would be better to match against:

http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-NCName

the namespaces NCName construct.

I will describe the differences:

NT-Nmtoken
==========

Any non-empty sequence of NameChar characters

XML name
=======

Any NT-NMtoken that does not start with:
   Digit | '.' | '-' | CombiningChar | Extender


NCName
======

Any XML name that does not contain ':'.


........................

Discussion
----------

A)
If we allow an rdf:ID that matches more than NCName then it cannot be
used in a qname e.g.


<rdf:Property rdf:ID="300x" />

names the property with a name that cannot be used in an XML
serialization.


B)
Allowing rdf:ID's that start in CombiningChar and Extender is likely to
be at odds with our general position vis-a-vis charmod. (I have not
checked that in detail).

C)
Both M&S and the current WD permit

<a:foo rdf:ID="ex:ex"/>

which looks distinctly dubious to me. Possible confusion as to whether
or not the ID is a qname etc.



Jeremy

Received on Tuesday, 25 June 2002 10:17:28 UTC