Tipe Kompleks XSD - hanya teks

Elemen kompleks hanya mengandung teks dapat mengandung teks dan atribut.

Elemen kompleks hanya mengandung teks

Tipe ini hanya mengandung konten sederhana (teks dan atribut), sehingga kita harus menambahkan elemen simpleContent ke konten ini. Saat menggunakan konten sederhana, kita harus mendefinisikan ekspansi atau batasan di dalam elemen simpleContent, seperti ini:

<xs:element name="suatu_nama">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="basetype">
        ....
        ....
      </xs:extension>     
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

atau:

<xs:element name="suatu_nama">
  <xs:complexType>
    <xs:simpleContent>
      <xs:restriction base="basetype">
        ....
        ....
      </xs:restriction>     
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

Petunjuk:Gunakan elemen extension atau restriction untuk mengeksendiri atau membatasi tipe dasar elemen.

Di sini ada contoh elemen XML, "shoesize", yang hanya mengandung teks:

<shoesize country="france">35</shoesize>

Contoh di bawah ini mendeklarasikan tipe kompleks yang contentnya ditentukan sebagai nilai integer, dan elemen "shoesize" memiliki atribut bernama "country":

<xs:element name="shoesize">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:integer">
        <xs:attribute name="country" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

Kami juga dapat menetapkan nama untuk elemen complexType dan membiarkan atribut type elemen "shoesize" merujuk pada nama ini (dengan cara ini, beberapa elemen dapat merujuk ke tipe kompleks yang sama):

<xs:element name="shoesize" type="shoetype"/>
<xs:complexType name="shoetype">
  <xs:simpleContent>
    <xs:extension base="xs:integer">
      <xs:attribute name="country" type="xs:string" />
    </xs:extension>
  </xs:simpleContent>
</xs:complexType>