Ein leerer komplexes Element nicht Inhalt haben kann, nur Attribute.
Komplexe Leere Elemente
Ein leeres XML-Element:
<product prodid="1345" />
Das "product" Element oben hat keinen Inhalt überhaupt nicht . Um einen Typ ohne Inhalt zu definieren, müssen wir eine Art definieren, die Elemente in ihrem Inhalt erlaubt, aber wir haben eigentlich keine Elemente erklären, wie folgt aus:
<xs:element name="product">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="xs:integer">
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
In dem obigen Beispiel definieren wir einen komplexen Typ mit einem komplexen Inhalt. Die complexElementSignale, die wir beabsichtigen, den Content-Modell eines komplexen Typs zu beschränken oder zu erweitern, und die Beschränkung der Integer deklariert ein Attribut, aber enthält keine Elementgehalt.
Allerdings ist es möglich , das zu erklären , "product" Element kompakter, wie folgt aus :
<xs:element name="product">
<xs:complexType>
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>
</xs:element>
Oder Sie können einen Namen für die complextype- Element geben, und lassen Sie das "product" Element eine Art Attribut , das auf den Namen des complex bezieht sich (wenn Sie diese Methode verwenden, mehrere Elemente auf den gleichen komplexen Typ beziehen kann):
<xs:element name="product" type="prodtype"/>
<xs:complexType name="prodtype">
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>