Monday, 9 February 2015

XML schema two-level key/keyref constraints



Given the following xml:



<root>
<families>
<family familyname="Flintstone">
<member name="Fred"/>
<member name="Wilma"/>
</family>
<family familyname="Rubble">
<member name="Barney"/>
<member name="Betty"/>
<member name="Bamm-Bamm"/>
</family>
</parents>
<employees>
<employee name="Fred" familyname="Flintstone"/>
<employees>
</root>


Is it possible to build a key/keyref constraint in the xsd to verify the validity of empployee?


The following does not work for key (the keyref is straigt forward):



<xs:key name="Individuals">
<xs:selector xpath="./families/family/member"/>
<xs:field xpath="@name"/>
<xs:field xpath="../@familyname"/>
</xs:key>


Is there a valid alternative?


No comments:

Post a Comment