Laden...

xsd - Attributkombination

Erstellt von csOffroad vor 13 Jahren Letzter Beitrag vor 13 Jahren 902 Views
C
csOffroad Themenstarter:in
64 Beiträge seit 2009
vor 13 Jahren
xsd - Attributkombination

verwendetes Datenbanksystem: xml

Hi zusammen,

ich möchte ein xsd für eine xml erstellen, die z.B. so aussehen kann:


<Parameter DataType="byte" InputType="TextBox" Min="0" Max="1" />
<Parameter DataType="short" InputType="ComboBox" Regex="^[a-e]$" />

Das Element "Parameter" kann also in unterschiedlichen Varianten vorkommen. Ich möchte aber nur bestimmte Kombinationen von Attributen zulassen. Heisst: Wenn ein Element "Parameter" als DataType "byte" und als InputType "TextBox" hat, müssen die Attribute "Min" und "Max" vorkommen, keine anderen.
Hat ein Element "Parameter" jedoch die Kombination DataType: "short" und InputType: "ComboBox", darf nur ein Attribut "Regex" vorkommen.

Gibt das xsd her? Wie? Hilfe!

B
387 Beiträge seit 2005
vor 13 Jahren

Hi,

meines Wissens funktioniert so etwas mit xsd nicht.
Du müsstest eigentlich alles außer DataType und InputType optional machen und sinnvolle Standardwerte im Code definieren - oder halt beim Laden der xml selber prüfen.

Gruß

2.187 Beiträge seit 2005
vor 13 Jahren

Hallo csOffroad,

Was du willst geht nur mit Vererbung in XSD.
Du musst neben dem Typ Parameter auch noch die Typen TextBoxByteParameter, ComboBoxShortParameter und so weiter anlegen.
Bei den Konkreten Typen kann man dann die erwarteten und benötigten Attribute eintragen.

Gruß
Juy Juka

C
csOffroad Themenstarter:in
64 Beiträge seit 2009
vor 13 Jahren

Hi ihr zwei,

vielen Dank. Da war dann also ein konzeptioneller Fehler in meinem Versuch - Elemente können nicht mehrfach unterschiedlich definiert sein. Werde wohl oder übel mehrere Elementdefinitionen anlegen müssen.