XSD 复合空元素

Elemen kompleks kosong tidak dapat mengandung konten, hanya dapat memiliki atribut.

Elemen kompleks kosong:

Elemen XML kosong:

<product prodid="1345" />

Elemen "product" di atas sama sekali tanpa konten. Untuk mendefinisikan tipe yang kosong, kita harus menyatakan tipe yang hanya dapat mengandung elemen dalam konten, tetapi实际上我们不声明任何元素, seperti ini:

<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>

Dalam contoh di atas, kami mendefinisikan tipe kompleks dengan konten kompleks. Tanda yang diberikan oleh elemen completeness adalah bahwa kami berencana untuk membatasi atau meluaskan model konten tipe kompleks, sementara batasan integer menyatakan atribut tetapi tidak memperkenalkan konten elemen.

Tetapi, Anda juga dapat menyatakan elemen "product" ini dengan cara yang lebih padat:

<xs:element name="product">
  <xs:complexType>
    <xs:attribute name="prodid" type="xs:positiveInteger"/>
  </xs:complexType>
</xs:element>

atau Anda dapat memberi nama bagi elemen complexType, lalu atur atribut type elemen "product" dan mengacu kepada nama complexType ini (dengan cara ini, beberapa elemen dapat mengacu kepada tipe kompleks yang sama):

<xs:element name="product" type="prodtype"/>
<xs:complexType name="prodtype">
  <xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>