Elemen complexType Schema XML

Definisi dan penggunaan

Elemen kompleks type memdefinikan jenis kompleks. Elemen jenis kompleks termasuk elemen lain dan/atau atribut XML.

maklumat elemen

kejadian kali dalam struktur adalah bebas hadangan; dalam elemen adalah sekali.
bahan ibu elemen、pengaturan semula、skema
kandungan annotasi、konten simpan、konten mudah、kumpulan、semua、pilihan、turutan、atribut、kumpulan atribut、atribut mana-mana

syarat

<complexType
id=ID 
nama=NCName 
abstrak=true|false 
mixed=true|false
blok=(#all|senarai daripada (perpanjangan|hadangan))
akhir=(#all|senarai daripada (perpanjangan|hadangan))
any attributes
>
(annotasi?,(konten simpan|konten mudah|((kumpulan|semua| 
pilihan|turutan)?,((atribut|kumpulan atribut)*,atribut mana-mana?))))
</complexType>

(? simbol dinyatakan dalam elemen complexType, elemen boleh muncul nol kali atau sekali, * simbol dinyatakan elemen boleh muncul nol kali atau berulang-ulang).

atribut

id

pilihan. menentukan ID unik elemen ini.

nama

pilihan. menentukan nama elemen.

abstrak

pilihan. menentukan sama ada jenis kompleks boleh digunakan dalam dokumen instans. jika nilai ini adalah true, elemen tidak boleh digunakan jenis kompleks ini secara langsung, tetapi harus digunakan jenis kompleks yang diwarisi daripada jenis kompleks ini. nilai lalai adalah false.

mixed

pilihan. menentukan sama ada data aksara boleh muncul di antara anak jenis kompleks ini. nilai lalai adalah false.

  • jika elemen simpleContent adalah anak, atribut mixed adalah tidak dibenarkan.
  • jika elemen complexContent adalah anak, kegunaan atribut mixed boleh ditulis semula oleh atribut mixed elemen complexContent.

blok

pilihan. menghalang jenis kompleks yang diwarisi dengan jenis turunan yang ditentukan daripada digunakan untuk menggantikan jenis kompleks ini. nilai ini boleh mengandungi #all atau senarai, senarai ini adalah subset daripada perpanjangan atau hadangan:

  • perpanjangan - menghalang jenis kompleks yang diwarisi daripada digunakan untuk menggantikan jenis kompleks ini.
  • hadangan - menghalang jenis kompleks yang diwarisi daripada digunakan untuk menggantikan jenis kompleks ini.
  • #all - Menghalang semua jenis kompleks turunan digunakan untuk menggantikan jenis kompleks ini.

final

Pilihan. Menghalang turunan jenis complexType yang ditentukan. Nilai ini boleh mengandungi #all atau senarai, yang merupakan subset daripada ekspansi atau batasan.

  • extension - Menghalang turunan melalui ekspansi.
  • restriction - Menghalang turunan melalui batasan.
  • #all - Menghalang semua turunan (ekspansi dan batasan).

any attributes

Pilihan. Tentukan mana-mana properti lain dengan non-schema namespace.

Contoh

Contoh 1

Contoh di bawah ini mempunyai jenis kompleks elemen bernama "note":

<xs:element name="note">
    <xs:complexType>
      <xs:sequence>
	<xs:element name="to" type="xs:string"/>
	<xs:element name="from" type="xs:string"/>
	<xs:element name="heading" type="xs:string"/>
	<xs:element name="body" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
</xs:element>

Contoh 2

Contoh di bawah ini mempunyai jenis kompleks "fullpersoninfo" yang meluas jenis yang diturunkan melalui tiga elemen pelengkap (address, city dan country), yang berasal dari jenis kompleks lainnya "personinfo":

<xs:element name="employee" type="fullpersoninfo"/>
<xs:complexType name="personinfo">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
  </xs:sequence>
</xs:complexType>
<xs:complexType name="fullpersoninfo">
  <xs:complexContent>
    <xs:extension base="personinfo">
      <xs:sequence>
        <xs:element name="address" type="xs:string"/>
        <xs:element name="city" type="xs:string"/>
        <xs:element name="country" type="xs:string"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

Dalam contoh di atas, elemen "employee" di atas mesti mengandungi berurutan elemen berikut: "firstname", "lastname", "address", "city" dan "country".