Thomas J.S.: XSD Validierung

Beitrag lesen

Hallo,

die erlaubten Werte sollen ja nicht fix im schema sein, sondern diese sollen sich aus der xml quelle ergeben. ähnlich wie idref, wo ja auch nachgeschaut wird, ob ein wert besteht

<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>

Aus der XML Quelle sollte das schema lesen, dass für sns:schuhe nur Leder oder Plastik zulässig ist, für sns:hosen Jeans, Stoff und Lack als Wert für AnzugRef zulässig ist. Weiss nicht, ob ich da etwas zuviel verlange von xsd. aber sollte doch möglich sein.

Das ist richtig schön kompliziert. (Wobei ich leise anmerke, dass dies m.M.n. auf konzeptionelle Fehler im XML-Desing beruht.)
Das Problem was du hast ist, dass du in Abhängigkeit von Attributwerten andere Attributwerte in Abhängigkeit stellen willst.
Abhängigkeiten von Attributwerten kannst du mit xsd:key und/oder xsd:unique schaffen, schau dir mal http://forum.de.selfhtml.org/archiv/2006/2/t124134/#m799816 ff. an (und auch dir dort verlinkten Beispiele).
So ad hoc kann ich auch nicht sagen, ob das was du möchtest wirklich in Schema ausgedrückt werden kann.

Grüße
Thomas