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