XSD 复合空元素

Elemen kompleks kosong tidak boleh mengandungi kandungan, hanya boleh mempunyai atribut.

Elemen kosong kompleks:

Elemen XML kosong:

<product prodid="1345" />

Elemen "product" di atas tiada kandungan. Untuk mendefinisikan jenis yang tiada kandungan, kita harus menyatakan jenis yang hanya boleh mengandungi elemen di dalam kandungannya, tetapi sebenarnya kita tidak akan menyatakan sebarang elemen, 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 jenis kompleks yang mempunyai kandungan kompleks. Isyarat elemen kompleksContent menunjukkan bahawa kami berhati untuk membatasi atau meluaskan model kandungan jenis kompleks, manakala pengehad integer menyatakan atribut tetapi tidak memasukkan sebarang kandungan elemen.

walau begitu, anda boleh menyatakan elemen "product" ini lebih padat:

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

atau anda boleh memberi nama kepada elemen complexType, lalu tetapkan atribut type elemen "product" dan rujuk nama complexType ini (dengan cara ini, beberapa elemen boleh merujuk kepada jenis kompleks yang sama):

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