Thoin: XSD: Uneindeutigkeit bei (a OR b OR (a AND b))?

Beitrag lesen

Hallo Forum,

als Newbie auf dem Gebiet XSD komme ich an einer Stelle nicht weiter, trotz Suche in der Selfhtml-Doku und Fragen an mir bekannte XML-Cracks.

Ich habe 3 Elemente definiert, a, b und c. Diese will ich im XML-File in folgender Form zulassen:

a
OR
b
OR
a AND b

Mein Versuch:

  
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">  
 <xs:element name="a"/>  
 <xs:element name="b"/>  
 <xs:element name="base">  
  <xs:complexType>  
   <xs:choice>  
    <xs:element ref="a"/>  
    <xs:element ref="b"/>  
    <xs:sequence>  
     <xs:element ref="a"/>  
     <xs:element ref="b"/>  
    </xs:sequence>  
   </xs:choice>  
  </xs:complexType>  
 </xs:element>  
</xs:schema>  

Mein Validierer bemäkelt Nicht-Determinismus wg. Namensgleichheit zwischen den zweifach auftretenden Elementen a bzw. b im xs:choice-Block (jedenfalls verstehe ich das so).

Noch glaube ich aber, dass es möglich sein muss, so etwas in einer XSD zu definieren - nur wie?

Bin für alle Hints dankbar ...

thoin