hh: XSD Validierung

Beitrag lesen

Hänge etwas bei meinem xsd schema

Problem ergibt sich aus:
<root>
<Anzug teil="hosen">
<Jeans>Text zu den Jeanshosen</Jeans>
<Stoff>Text zu den Stoffhosen</Stoff>
<Lack>Text zu Lack</Lack>
</Anzug>
<Anzug teil="schuhe">
<Leder>Text zu Lederschuhen</Leder>
<Plastik>Text zu Plastikschuhen</Plastik>
</Anzug>

<sns:schuhe AnzugRef="Leder">werte</sns:schuhe>
<sns:schuhe AnzugRef="Plastik">werteXY</sns:schuhe>
<!-- diese Zeile ist ungültig -->
<sns:schuhe AnzugRef="Lack">Wert</sns:schuhe>

</root>

wie muss ich das Attribute AnzugRef in meinem xsd schema definieren, damit mir die Validierung einen Fehler für die Zeile <sns:schuhe AnzugRef="Lack">Wert</sns:schuhe> ausgibt, da es das Unterelemet Lack nicht gibt für <Anzug teil="schuhe"/>? Der andere namespace dürfte kein Problem sein und kann aus der problematik ausgeblendet werden. Ich könnte auch das XML umschreiben etwa so (wäre wohl sinnvoller eventuell), das Problem bleibt das Gleiche:

<root>
<Anzug teil="hosen">
<Eigenschaft name="Jeans">Text zu den Jeanshosen</Eigenschaft>
<Eigenschaft name="Stoff">Text zu den Stoffhosen</Eigenschaft>
<Eigenschaft name="Lack">Text zu Lack</Eigenschaft>
</Anzug>
<Anzug teil="schuhe">
<Eigenschaft name="Leder">Text zu Lederschuhen</Eigenschaft>
<Eigenschaft name="Plastik">Text zu Plastikschuhen</Eigenschaft>
</Anzug>

<sns:schuhe AnzugRef="Leder">werte</sns:schuhe>
<sns:schuhe AnzugRef="Plastik">werteXY</sns:schuhe>
<!-- diese Zeile ist ungültig -->
<sns:schuhe AnzugRef="Lack">Wert</sns:schuhe>

</root>

Wäre sehr dankbar für einen Lösungsvorschlag

Gruß,

Holger