[
Lists Home |
Date Index |
Thread Index
]
I read through the latest xml:id specification today [1] and have a few
questions-- in general though the specification seems pretty
straightforward and clear...
Q1) In section 4, "The xml:id processor performs ID assignment on all
xml:id attributes, even those that do not satisfy the enumerated
constraints." Consider:
<?xml version="1.0"?>
<root xml:id="This isn't an ID!!!!!"/>
Does this mean that even though there is an Error, the element root
should still have the ID "This isn't an ID!!!!!" associated with it?
Will technologies such as XPath and DOM be expected to work with IDs
such as these?
Q2) Also in section 4, "Many validation technologies impose the
constraint that an XML element can have at most one attribute of type
ID. That constraint is not imposed by xml:id processing."
So this should not raise an error:
<?xml version="1.0"?>
<!DOCTYPE root [
<!ELEMENT root EMPTY>
<!ATTLIST root
id ID #IMPLIED>
]>
<root id="ID1" xml:id="ID2"/>
Nor should this raise an error (when using an xml:id aware processor):
<?xml version="1.0"?>
<!DOCTYPE root [
<!ELEMENT root EMPTY>
<!ATTLIST root
id ID #IMPLIED
xml:id ID #IMPLIED>
]>
<root id="ID1" xml:id="ID2"/>
I feel like this is somehow flawed. I am also left wondering how the
XPath id() function will work-- could you theoretically refer to the
<root> element using either ID1 or ID2?
Q3) In section 7.2, "In addition, the following properties might be
present in the output infoset:
* [attribute type] properties on Attribute Information Items."
Might it also be possible to have [type definition] properties in the
output infoset as a result of ID Assignment as is specified in section
5? Does that need to be compatible here?
Cheers,
Jeff Rafter
|