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
properti apapun
>
((include|import|redefine|annotation)*,(((simpleType|complexType|
group|attributeGroup)|element|attribute|notation),annotation*)*)
</schema>

aturan

id

Pilihan. Tentukan ID unik elemen ini.

attributeFormDefault

Pilihan. Bentuk atribut yang dideklarasikan dalam schema namespace tujuan. Nilai ini harus satu dari berikut: "qualified" atau "unqualified". Nilai default adalah "unqualified".

  • "unqualified" menunjukkan bahwa atribut namespace tujuan tidak perlu ditentukan melalui prefiks namespace.
  • "qualified" menunjukkan bahwa atribut namespace tujuan harus ditentukan melalui prefiks namespace.

elementFormDefault

Pilihan. Bentuk elemen yang dideklarasikan dalam schema namespace tujuan. Nilai ini harus satu dari berikut: "qualified" atau "unqualified". Nilai default adalah "unqualified".

  • "unqualified" menunjukkan bahwa elemen namespace tujuan tidak perlu ditentukan melalui prefiks namespace.
  • "qualified" menunjukkan bahwa elemen namespace tujuan harus ditentukan melalui prefiks namespace.

blockDefault

Pilihan. Tentukan nilai default atribut block elemen dan complexType dalam namespace tujuan. Atribut block menghalangi kompleks (atau elemen) yang memiliki turunan yang ditentukan untuk digunakan untuk menggantikan kompleks (atau elemen) yang diwarisi. Nilai ini dapat berisi #all atau daftar yang berisi ekspansi, restriksi, atau substitution:

  • extension - Menghalangi penggantian kompleks yang diatur melalui ekspansi.
  • restriction - Menghalangi penggantian kompleks yang diatur melalui restriksi.
  • substitution - Menghalangi penggantian elemen.
  • #all - Menghalangi semua turunan kompleks untuk diganti dengan kompleks yang ditentukan.

finalDefault

Pilihan. Tentukan nilai default atribut final elemen element, simpleType, dan complexType dalam namespace tujuan arsitektur ini. Atribut final menghalangi elemen, simpleType, atau complexType untuk memiliki turunan yang ditentukan. Untuk elemen dan complexType, nilai ini dapat berisi #all atau daftar yang berisi ekspansi atau restriksi. Untuk elemen simpleType, nilai ini dapat berisi list dan union:

  • extension - Secara baku, elemen schema ini tidak dapat diwarisi melalui ekspansi. Hanya berlaku untuk elemen element dan complexType.
  • restriction - Mencegah warisan melalui batasan.
  • list - Mencegah warisan melalui daftar. Hanya berlaku untuk elemen simpleType.
  • union - Mencegah warisan melalui gabungan. Hanya berlaku untuk elemen simpleType.
  • #all - Secara baku, elemen schema ini tidak dapat diwarisi melalui metode apapun.

targetNamespace

Referensi URI ruang nama schema ini. Bisa juga menetapkan prefiks ruang nama ini. Jika tidak disediakan prefiks apapun, komponen schema ruang nama ini dapat digunakan bersamaan dengan referensi yang tidak terbatas.

versi

Pilihan. Tentukan versi schema.

xmlns

Tentukan referensi URI satu atau lebih ruang nama yang digunakan dalam schema ini. Jika tidak disediakan prefiks, komponen schema ruang nama ini dapat digunakan bersamaan dengan referensi yang tidak terbatas.

properti apapun

Pilihan. Tentukan properti lain yang memiliki ruang nama 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 contoh ini, komponen schema (nama elemen, tipe) di ruang nama http://www.w3.org/2001/XMLSchema adalah tidak terbatas, sementara http://www.codew3c.com/codew3cschema (mystring) disingkat melalui 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>