Ich habe die folgenden Elemente Struktur in meine XSD-Datei bekam:xsd. Erweitern einer Art mit ungeordneten Elemente gesetzt
<xs:complexType name="the_rootest" abstract="true">
<xs:sequence>
<xs:element name="info" type="complex_type_here"/>
</xs:sequence>
<xs:attribute name="Name" type="cpo:string"/>
</xs:complexType>
<xs:complexType name="object" abstract="true">
<xs:complexContent>
<xs:extension base="the_rootest">
<xs:sequence>
<xs:element name="is_working" type="cpo:bool"/>
<xs:element name="has_errors" type="cpo:bool"/>
<xs:element name="state" type ="cpo:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="extended_object">
<xs:complexContent>
<xs:extension base="object">
<xs:sequence>
<xs:element name="is_zero" type="cpo:bool"/>
<xs:element name="complex" type="another_complex_type_here" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="one_more_extended">
<xs:complexContent>
<xs:extension base="object">
<xs:sequence>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
I-Objekt mit einem „extended_object“ Typ in einer XML-Datei haben, die folgenden Felder hat Auftrag
info
Name
is_working
has_errors
is_zero
complex
state
Wie Sie sehen können, steht das Feld "state" am Ende der Objektelemente. Die Frage ist, wie soll ich mein Schema korrigieren, um dieses Objekt gültig zu machen? Danke.
Hier sehe ich einen Fehler: "Eine alle Gruppe ist nur auf der obersten Ebene des Inhaltsmodells erlaubt.". Diese Variante ist also nicht für mich geeignet. – rudolfninja
Ja, das würde XML Schema 1.0 sagen, wie kjhughes erklärt. Es bedeutet also wahrscheinlich, dass die von Ihnen verwendete Software 1.1 leider nicht unterstützt. –
Danke. Könnten Sie wissen, ob es einen Weg gibt, das "Statusfeld" nicht gültig zu machen? – rudolfninja