У меня есть такая структура:
<parent>
<name>p1</name>
<child>
<name>c3</name>
<name>c1</name>
</child>
</parent>
<parent>
<name>p2</name>
<child>
<name>c1</name>
<name>c2</name>
</child>
</parent>
Я хочу иметь другой раздел, значения которого должны быть проверены снова в первом разделе.Так что
<parent name="p1">
<child name="c3" />
</parent>
или
<parent name="p2">
<child name="c2" />
</parent>
должны быть действительными, но ни
<parent name="p1">
<child name="c2" />
</parent>
, ни
<parent name="p2">
<child name="c4" />
</parent>
я думал оиспользуя ключ с несколькими полями
<xs:key name="k">
<xs:selector xpath="tns:parent" />
<xs:field xpath="tns:name" />
<xs:field xpath="tns:child/tns:name" />
</xs:key>
, но похоже, что этот подход никогда не сработает, поскольку ключевые поля должны быть уникальными.
Возможно ли это сделать с помощью XML Schema 1.0?