Xml Schema xs:key und xs:keyref
Andi
- xml
Guten morgen,
ich habe ein Beispiel Xml, welches ich mit einem Xml Schema validieren möchte. Dort funktioniert mir aber eine Bedingung nicht:
(Ausschnitt)
<xs:element name="match" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="player1" type="xs:int" use="required"/>
<xs:attribute name="player2" type="xs:int" use="required"/>
<xs:attribute name="winner" type="xs:int" use="required"/>
<xs:attribute name="date" type="xs:date" use="required"/>
</xs:complexType>
<xs:key name="player-winner-key">
<xs:selector xpath="."/>
<xs:field xpath="@player1|@player2"/>
</xs:key>
<xs:keyref name="player-winner-keyref" refer="player-winner-key">
<xs:selector xpath="."/>
<xs:field xpath="@winner"/>
</xs:keyref>
</xs:element>
Hier möchte ich den Gewinner eines Matches auf die zwei teilnehmenden Spieler beschränken.
Folgendes Xml wird aber Problemlos von Netbeans und Stylusstudio validiert:
(Ausschnitt)
<test>
<match player1="123" player2="123" winner="4560" date="2008-05-05"/>
<match player1="123" player2="456" winner="123" date="2008-06-05"/>
<match player1="456" player2="345" winner="456" date="2008-05-05"/>
</test>
Weiters hätte jemand eine Idee, wie man bewerkstelligt, dass nicht zwei gleiche Spieler gegeneinander spielen können?
Danke für eure Hilfe und Grüße,
Andi