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

Beitrag lesen

/snip

Don't think so. Gemeint ist nicht (a OR b) OR (a AND b), sondern (a) OR
(b) OR (a AND b)), also

Das waer dann aber eher ein XOR, oder? Ich glaube, dann hat das Problem was
mit dem Typ der formalen Grammatik zu tun. Aber dafuer ist meine TheoInf-
Vorlesung inzwischen zu lange her ... ;)

Ich vermute, so aehnlich koennte es funktionieren, um das auszudruecken,
was du moechtest:

<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:sequence
      <xs:element ref="a"/>
      <xs:element ref="b" maxOccurs="1"/>
    </xs:sequence>
    <xs:element ref="b"/>
   </xs:choice>
  </xs:complexType>
</xs:element>
</xs:schema>

  
Nee, leider auch nicht. In diesem Fall muss mindestens b vorhanden sein, a alleine geht nicht. Ich brauche: entweder nur a, oder nur b, oder beide gleichzeitig. Eigentlich ist es ein stinknormales OR, das ich will, aber ich hake an der Mehrdeutigkeit, die ich nicht sehe (im Gegensatz zum Validierer).  
  
Soweit ich weiss, ist maxOccurs immer 1, wenn man nichts anderes dazuschreibt, insofern ist das ohne Auswirkung.  
  
Trotzdem danke!  
  
thoin