Thomas J.S.: Xsd - Attributwert abfragen

Beitrag lesen

Hallo Thomas,

Auch in XML-Schema ist es nicht möglich auf Grund von Attributwerten solche Unterscheidungen zu definieren.

Wenn ich mich nicht vertue, aber in RELAX NG, hier mal in kompakter Syntax, ungetestet:

Wäre in XML Schema mittels xs:choice nicht ein gleiches möglich?

Nein.
Die in Frage kommende Lösung wäre das sgnt. "co-occurence constraints" mit key*, aber es sind in den im XML-Schema verwendbaren XPath-Ausdrücken keine Test wie "@attr = 'foo'" erlaubt.

*) gemeint ist z.B. "wenn Attribut a vorhanden, muss element b fehlen" etc.
Mit solche Lösungen kann man teilwese die UPA-Regel umgehen (diese Regel gibts im RELAX (NG) oder im TREX eben nicht).

Grüße
Thomas