We have a better grasp now of the id mechanisms and are thinking along lines described briefly below. If any XMLers will be in Frankfurt, I'd like to talk more about these lines.
I. A general question for comment
We think that Kevin's example 9 the <DESCRIPTION> is really meant to be
<DESCRIPTION ID = "1"> <FEATURE IDREF="1"> <VALUE IDREF="3"> <FEATURE IDREF="2"> <VALUE IDREF="1"> </DESCRIPTION>
rather than
<DESCRIPTION ID = "1"> <FEATURE ID="1"> <VALUE ID="3"> <FEATURE ID="2"> <VALUE ID="1"> </DESCRIPTION>
as written. That is, the features and values are *references* to features given ID's in earlier elements. Thus in this case such a description is equivalent to
<DESCRIPTION ID = "1"> <FEATURE NAME="Habit"> <FEATURE_VALUE>Herb</FEATURE_VALUE> </FEATURE> <FEATURE NAME="Stolons"> <FEATURE_VALUE>Present</FEATURE_VALUE> </FEATURE> </DESCRIPTION>
II. Global feature values (This may be a Delta question).
In 0.3's Examples 8 and 9 there do not seem to be any global feature values. Instead, all possible values are completely local to features. For example, can there be a list of feature values containing both "present" and "absent" to which any feature can refer, whether or not those values are in that feature's local list of values? Or rather, must every feature that wishes to allow those values name them in its list of possible values>
III. Unique ID's (Non XML hackers please avert your eyes). We can not see where XML-Schema Schema syntactically enforces uniqueness of ID's. If this is so, ID uniqueness must either be ignored, enforced by context, or enforced by semantics at processing time. For example, in draft 0.3, several objects have id="1". The XPath function library is strong enough to use an ID as key when its uniqueness is given only by context as in Examples 8 and 9 in draft 0.3, but if we accept this approach, will we end up with a Schema against which validity testing is hard? OTOH, if we are wrong and XML-Schema Schema does enforce global uniqueness of ID, then must we uniqify the proposal by encoding the context in the ID itself? That seems fragile.