Besondere Anforderung an choice im Schema

schmellwitzer

Grünschnabel
Hallo,
ich habe ein XML Dokument, dass im Prinzip 4 verschiedene Elemente enthält. Nennen wir sie mal a,b,c und d. Das Element a bekommt eine Sonderstellung und zwar, dass es nur einmal vorkommen darf, egal wo. Die anderen Elemente dürfen beliebig oft vorkommen.

Ein Beispiel:
b
d
c
a
b
b
d valid!

noch eins:
b
d
a
c
c
a
b not valid!

Soweit so gut. Dieses Verhalten habe ich versucht in ein Schema zu pressen, auch mit Erfolg.
Meine bisherige beste Idee für das Schema sah abstrakt wie folgt aus:
sequence
choice maxOccurs"unbounded" minOccurs"0"
b
c
d
endchoice
a
choice maxOccurs"unbounded" minOccurs"0"
b
c
d
endchoice
endsequence

Meine Frage ist nun ob es für meine Anforderung eine schönere Lösung als die meinige gibt. Alle XML und auch das Schema sind wohlgeformt. Das einzige was mir noch zur Übesicht eingefallen ist war eine Gruppendefinition der choices, was auch funktioniert.

Ich danke vielmals.
 
Zurück