Hallo,
ich bin gerade dabei ein XML-Schema zu erstellen, komme aber nicht weiter.
Es geht um ein Element mit dem Namen <z>. Dieses Element hat immer zwei Attribute, und zwar "attrA" und "attrB".
Für beide Attribute sollen nur bestimmte vordefinierte Werte zulässig sein, also brauche ich Enumerationen.
Die "Schwierigkeit" besteht nun darin, dass der Attributwert für attrB abhängig von dem Attributwert von attrA sein soll.
Wenn attrA beispielsweise den Wert "typ1" hat, darf attrB nur die Werte "Preis1" oder "Preis2" haben.
Wenn attrA beispielsweise den Wert "typ2" hat, darf attrB nur die Werte "Preis2" oder "Preis3" haben.
Damit ihr wisst was ich meine, hier ein wenig Code. Mir ist durchaus bewusst, dass das so nicht
funktionieren kann, ich will damit nur verdeutlichen, dass ich eine Art Auswahlmöglichkeit für einen complexType brauche:
Alles anzeigen
Ich hoffe irgendjemand kann helfen. Wäre sehr dankbar.
Viele Grüße
ich bin gerade dabei ein XML-Schema zu erstellen, komme aber nicht weiter.
Es geht um ein Element mit dem Namen <z>. Dieses Element hat immer zwei Attribute, und zwar "attrA" und "attrB".
Für beide Attribute sollen nur bestimmte vordefinierte Werte zulässig sein, also brauche ich Enumerationen.
Die "Schwierigkeit" besteht nun darin, dass der Attributwert für attrB abhängig von dem Attributwert von attrA sein soll.
Wenn attrA beispielsweise den Wert "typ1" hat, darf attrB nur die Werte "Preis1" oder "Preis2" haben.
Wenn attrA beispielsweise den Wert "typ2" hat, darf attrB nur die Werte "Preis2" oder "Preis3" haben.
Damit ihr wisst was ich meine, hier ein wenig Code. Mir ist durchaus bewusst, dass das so nicht
funktionieren kann, ich will damit nur verdeutlichen, dass ich eine Art Auswahlmöglichkeit für einen complexType brauche:
Quellcode
- <xsd:element name="z" type="target:zType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:complexType name="zType">
- <xsd:choice>
- <xsd:complexType>
- <xsd:attribute name="attrA" type="xsd:string" fixed="typ1"/>
- <xsd:attribute name="attrB" type="target:auswahlTyp1"/> <!-- Verweis auf Enumeration mit Preis1 und Preis2 -->
- </xsd:complexType>
- <xsd:complexType>
- <xsd:attribute name="attrA" type="xsd:string" fixed="typ2"/>
- <xsd:attribute name="attrB" type="target:auswahlTyp2"/> <!-- Verweis auf Enumeration mit Preis2 und Preis3 -->
- </xsd:complexType>
- </xsd:choice>
- </xsd:complexType>
Ich hoffe irgendjemand kann helfen. Wäre sehr dankbar.
Viele Grüße