>> - ID, IDREF and IDREFS don't have cross-reference semantics (should
>> implementations that support DTD compatibility annotations automagically
>> turn these into annotations?)
>
> It would be nice if the spec does not prohibit implementations to provide
> cross-reference semantics for these types.
>
> Because when these types are used, the author obviously wants to have that
> semantics.
I think the key point is that the cross-reference semantics is not part of
validity. There is nothing to stop a RELAX NG validator combining other
processing (such as cross-reference processing) with RELAX NG validation.
However, it must still perform RELAX NG validation properly. A RELAX NG
validator would be non-conforming if it refused to validate against a
schema because it used:
<choice>
<data type="ID"/>
<data type="NMTOKEN"/>
</choice>
In a case like this, if a validator does try to give cross-reference
semantics to ID/IDREF, then it should probably give a warning that it
cannot perform ID/IDREF validation, and then continue to do RELAX NG
validation as usual.
>
>> Anything else? Do we want to deprecate things that aren't well-defined?
>
> For example?
You are more of an expert on this than me.
James