Kerstin: XML-Schema XSD: Attribut als keyref

Beitrag lesen

Ja, das ist mir klar. Ich möchte statt eines Elements <Person></Person> unter Bestellung, ein Attribut in Bestellung <Bestellung Person="1"></Bestellung> haben. Und mit diesem Attribut soll der Schlüssel in <Person PersonID="1"></Person> gemeint sein.

Das kannst du dann z.B. im Eltern-Element vom <Bestellung> mit:

<xs:keyref name="PersonID2" refer="PersonID">
  <xs:selector xpath="Bestellung"/>
  <xs:field xpath="@Person"/>
</xs:keyref>

erreichen.

aaaaaah, danke. Und wenn es dann doch ein Element <Person></Person> sein soll? so?

<xs:keyref name="PersonID2" refer="PersonID">
   <xs:selector xpath="Bestellung"/>
   <xs:field xpath="Person"/>
</xs:keyref>

Ein Element <Person></Person> unter <Bestellung></Bestellung> - also:
<Bestellung><Person>1</Person></Bestellung>.
Bisher habe ich das @ auch bei normalen Elementen in field verwendet.