Мне было интересно, можно ли различать поля идентификатора в схеме XML.У меня следующая схема:
<element name="define_apple">
<complexType>
<attribute name="colour" type="ID"/>
</complexType>
</element>
<element name="define_orange">
<complexType>
<attribute name="colour" type="ID"/>
</complexType>
</element>
<element name="reference_apple">
<complexType>
<attribute name="colour" type="IDREF"/>
</complexType>
</element>
<element name="reference_orange">
<complexType>
<attribute name="colour" type="IDREF"/>
</complexType>
</element>
Однако ссылки не связаны однозначно с соответствующими определениями.Я все еще могу написать следующую бессмыслицу, но действительный XML:
<define_apple colour="green"/>
<define_orange colour="orange"/>
<reference_apple colour="orange"/>
<reference_orange colour="green"/>
Есть ли способ правильно связать поля, используя ID и IDREF, например, используя пространства имен?Я знаю, что мог бы просто использовать key и keyref, но идентификация мне немного более интересна.