XML Schema schema 元素
定义和用法
schema 元素定义 schema 的根元素。
元素信息
出现次数 | 一次 |
父元素 | (无父元素) |
内容 | include、import、annotation、redefine、attribute、attributeGroup、element、group、notation、simpleType、complexType |
语法
<schema id=ID attributeFormDefault=qualified|unqualified elementFormDefault=qualified|unqualified blockDefault=(#all|list of (extension|restriction|substitution)) finalDefault=(#all|list of (extension|restriction|list|union))}} targetNamespace=anyURI version=token xmlns=anyURI any attributes > ((include|import|redefine|annotation)*,(((simpleType|complexType| (group|attributeGroup)|element|attribute|notation),annotation*)*) </schema>
Atribut
id
Pilihan. Menentukan ID unik bagi elemen ini.
attributeFormDefault
Pilihan. Bentuk atribut yang diumumkan di namespace tujuan schema ini. Nilai ini harus salah satu dari berikut: "qualified" atau "unqualified". Nilai default adalah "unqualified".
- "unqualified" menunjukkan bahwa atribut di namespace tujuan tidak perlu ditentukan dengan prefiks namespace.
- "qualified" menunjukkan bahwa atribut di namespace tujuan harus ditentukan dengan prefiks namespace.
elementFormDefault
Pilihan. Bentuk elemen yang diumumkan di namespace tujuan schema ini. Nilai ini harus salah satu dari berikut: "qualified" atau "unqualified". Nilai default adalah "unqualified".
- "unqualified" menunjukkan bahwa elemen di namespace tujuan tidak perlu ditentukan dengan prefiks namespace.
- "qualified" menunjukkan bahwa elemen di namespace tujuan harus ditentukan dengan prefiks namespace.
blockDefault
Pilihan. Menentukan nilai default atribut block pada elemen element dan complexType di namespace tujuan. Atribut block melindungi tipe kompleks (atau elemen) yang memiliki tipe turunan yang ditentukan untuk tidak digantikan dengan tipe kompleks yang diturunkan (atau elemen). Nilai ini dapat berisi #all atau daftar yang termasuk extension, restriction, atau substitution:
- extension - Melindungi penggunaan tipe kompleks turunan yang diextensi untuk tidak digantikan dengan tipe kompleks ini.
- restriction - Melindungi penggunaan tipe kompleks turunan yang diperbatasi untuk tidak digantikan dengan tipe kompleks ini.
- substitution - Melindungi penggantian elemen.
- #all - Melindungi semua tipe kompleks turunan untuk tidak digantikan dengan tipe kompleks ini.
finalDefault
Pilihan. Tentukan nilai baku final atribut final elemen, simpleType, dan complexType di namespace target arsitektur ini. Atribut final mencegah elemen, simpleType, atau complexType di-derivatkan melalui tipe spesifik. Untuk elemen dan complexType, nilai ini dapat berisi #all atau daftar yang berisi subset ekspansi atau batasan. Untuk elemen simpleType, nilai ini juga dapat berisi list dan union:
- extension - Secara baku, elemen schema ini tidak dapat di-derivatkan melalui ekspansi. Hanya berlaku untuk elemen element dan complexType.
- restriction - Menghindari derivatasi melalui batasan.
- list - Menghindari derivatasi melalui list. Hanya berlaku untuk elemen simpleType.
- union - Menghindari derivatasi melalui union. Hanya berlaku untuk elemen simpleType.
- #all - Secara baku, elemen schema ini tidak dapat di-derivatkan melalui metode apapun.
targetNamespace
Referensi URI namespace schema ini. Bisa juga menetapkan prefiks namespace. Jika tidak disediakan prefiks apapun, komponen schema namespace ini dapat digunakan bersamaan dengan referensi tak terbatas.
version
Pilihan. Tentukan versi schema.
xmlns
Tentukan referensi URI satu atau beberapa namespace yang digunakan dalam schema ini. Jika tidak disediakan prefiks, komponen schema namespace ini dapat digunakan bersamaan dengan referensi tak terbatas.
any attributes
Pilihan. Tentukan setiap atribut lain dengan namespace non-schema.
Contoh
Contoh 1
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="values" type="xs:string"> </xs:schema>
Contoh 2
Dalam kasus ini, komponen schema (nama elemen, tipe) di namespace http://www.w3.org/2001/XMLSchema adalah tak terbatas, sementara http://www.codew3c.com/codew3cschema (mystring) dihalangi dengan prefiks wsc:
<?xml version="1.0"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsc="http://www.codew3c.com/codew3cschema" <element name="fname" type="wsc:mystring"/> </schema>