Announcement

Collapse
No announcement yet.

XSD mit Bedingung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • XSD mit Bedingung

    Hallo zusammen,

    ich habe da ein Problem, möglicherweise könnt ihr mir einen Tip geben.

    Ich erstelle eine XSD, in der ich ein Element "mein_tag" habe. Dieses Element kann 4 Attribute enthalten, die wiederum vom Typ boolean sind.
    Nun möchte ich der XSD beibringen, dass sie lediglich ein Attribut als true durchgehen lässt.


    Hier ein Ausschnitt der XSD:

    <xsd:element name="mein_tag">
    <xsd:annotation>
    <xsd:documentation>Hier steht ne Beschreibung fuer den Tag.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
    <xsd:attribute name="ATTRIBUT_1" type="xsd:boolean"/>
    <xsd:attribute name="ATTRIBUT_2" type="xsd:boolean"/>
    <xsd:attribute name="ATTRIBUT_3" type="xsd:boolean"/>
    <xsd:attribute name="ATTRIBUT_4" type="xsd:boolean"/>
    </xsd:complexType>
    </xsd:element>


    So sollte das dann idealerweise im XML aussehen:

    <mein_tag ATTRIBUT_1="1" ATTRIBUT_2="0" ATTRIBUT_3="0" ATTRIBUT_4="0"/>



    Sowas will ich mit der XSD unterbinden (zwei Attribute jeweils auf true):

    <mein_tag ATTRIBUT_1="1" ATTRIBUT_2="0" ATTRIBUT_3="1" ATTRIBUT_4="0"/>


    Wäre nett, wenn mir jemand einen Tip geben könnte, wie ich das realisieren kann.

    Viele Grüße

    spaeter112

  • #2
    Hallo später!

    Vielleicht kannst du das als enumeration - Tag lösen?

    z.B:
    <xsd:element name="OnlyOne">
    <xsd:simpleType>
    <xsd:restriction base="xsd:integer">
    <xsd:enumeration value="1">
    </xsd:enumeration>
    <xsd:enumeration value="2">
    </xsd:enumeration>
    <xsd:enumeration value="3">
    </xsd:enumeration>
    <xsd:enumeration value="4">
    </xsd:enumeration>
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    lg, gundel

    Comment

    Working...
    X