XSD - Schema: Wie bestimmte Bedingung formulieren?



  • Hi Leute,

    ich habe einen Knoten aus meinem Namespace (A). Dieser Knoten soll enthalten dürfen: Plaintext, einen bestimmten Knoten aus meinem Namespace (B) sowie alle Knoten aus dem XHTML-Namespace.
    Mein Versuch:

    <xs:element name="A" type="pageContent"/>
    
      <xs:group name="pageContentGroup">
        <xs:sequence>
        <xs:choice>
          <xs:element ref = "B"/>
          <xs:any namespace="http://www.w3.org/1999/xhtml" processContents="strict"/>
        </xs:choice>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="pageContent" mixed="true">
        <xs:sequence>
          <xs:group ref="pageContentGroup"/>
        </xs:sequence>
      </xs:complexType>
    

    Das klappt aber nicht so wie ich möchte. Sobald ich ein Element einfüge müssen alle anderen auch dieser Bedingung genügen. Soll heißen, dass ich meinen B-Tag nicht einfügen kann, wenn ich HTML verwendet habe und umgekehrt.

    Bitte um Hilfe.



  • *g* Ne halbe Stunde rumversucht und dann 5 Minuten nachdem ich aufgegeben & gepostet habe, finde ich es raus.
    So klappt's:

    <xs:group name="pageContentGroup">
        <xs:sequence>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref = "type" minOccurs="0" maxOccurs="unbounded"/>
          <xs:any namespace="http://www.w3.org/1999/xhtml" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
        </xs:choice>
        </xs:sequence>
      </xs:group>
    

Anmelden zum Antworten