Gleiche Attribute in einer XSD abfangen
Jever
- xml
Hallo,
ich habe eine XML Datei:
<java>
<option para="value">12345</option>
<option para="optional">add</option>
<option para="extension">.ert</option>
<option para="verify">374fnwiuvt3mwu</option>
</java>
diese möchte ich mit einer Schemadatei validieren.
Jetzt komme ich nicht damit zurecht, dass die Elemente "option" 4x mit den oben gezeigten Attributen auftauchen müssen und nur damit.
<xs:element name="option">
<xs:complexType mixed="true">
<xs:attribute name="para" use="required" fixed="value">
</xs:attribute>
</xs:complexType>
</xs:element>
Leider kann ich ja nicht mehrere:
<xs:attribute name="para" use="required" fixed="value">
<xs:attribute name="para" use="required" fixed="optional">
...
hintereinander schreiben.
Hi,
ich habe eine XML Datei:
<java>
<option para="value">12345</option>
<option para="optional">add</option>
<option para="extension">.ert</option>
<option para="verify">374fnwiuvt3mwu</option>
</java>
>
> diese möchte ich mit einer Schemadatei validieren.
>
> Jetzt komme ich nicht damit zurecht, dass die Elemente "option" 4x mit den oben gezeigten Attributen auftauchen müssen und nur damit.
Kannst Du das Format der XML-Datei ändern?
Denn m.W. ist es nicht möglich, die Anforderung 'Element muß einmal mit para-Attribut="value", danach einmal mit para-Attribut="optional" usw.' in ein Schema zu gießen.
Sinnvoller wäre es, das XML so aufzubauen:
~~~xml
<java>
<value>12345</value>
<optional>add</optional>
<extension>.ert</extension>
<verify>374fnwiuvt3mwu</verify>
</java>
<xs:attribute name="para" use="required" fixed="value">
fixed ist ja auch falsch, denn das para-Attribut des option-Elements soll ja nicht einen fixen Wert haben, sondern einen von 4 verschiedenen.
Meiner Meinung nach ist <xs:attribute name="bla" use="required" fixed="value"> eigentlich unsinnig - wenn das Attribut immer da sein muß (required) und nur einen einzigen Wert haben darf (fixed), dann kann man es auch ganz weglassen (und diesen Wert in der Logik des Programms unterbringen, das das XML benutzt).
cu,
Andreas
Hi,
ich habe eine XML Datei:
<java>
<option para="value">12345</option>
<option para="optional">add</option>
<option para="extension">.ert</option>
<option para="verify">374fnwiuvt3mwu</option>
</java>
> >
> > diese möchte ich mit einer Schemadatei validieren.
> >
> > Jetzt komme ich nicht damit zurecht, dass die Elemente "option" 4x mit den oben gezeigten Attributen auftauchen müssen und nur damit.
>
> Kannst Du das Format der XML-Datei ändern?
> Denn m.W. ist es nicht möglich, die Anforderung 'Element muß einmal mit para-Attribut="value", danach einmal mit para-Attribut="optional" usw.' in ein Schema zu gießen.
Hallo,
dass habe ich mir fast schon gedacht. Hatte es mittlerweile schon geändert nach deinem Vorschlag.
Gruß
Jever