Neueste Web-Entwicklung Tutorials
 

XSD Leere Elemente


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>