XML Schema schema 元素
定義和用法
schema 元素定義 schema 的根元素。
元素信息
出現(xiàn)次數(shù) | 一次 |
父元素 | (無父元素) |
內(nèi)容 | 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>
屬性
id
可選。規(guī)定該元素的唯一的 ID。
attributeFormDefault
可選。在該 schema 的目標(biāo)命名空間中聲明的屬性的形式。該值必須是下列字符串之一: "qualified" 或 "unqualified"。 默認(rèn)值為 "unqualified"。
- "unqualified" 指示無須通過命名空間前綴限定目標(biāo)命名空間的屬性。
- "qualified" 指示必須通過命名空間前綴限定目標(biāo)命名空間的屬性。
elementFormDefault
可選。在該 schema 的目標(biāo)命名空間中聲明的元素的形式。該值必須是下列字符串之一: "qualified" 或 "unqualified"。 默認(rèn)值為 "unqualified"。
- "unqualified" 指示無須通過命名空間前綴限定目標(biāo)命名空間的元素。
- "qualified" 指示必須通過命名空間前綴限定目標(biāo)命名空間的元素。
blockDefault
可選。規(guī)定在目標(biāo)命名空間中 element 和 complexType 元素上的 block 屬性的默認(rèn)值。block 屬性防止具有指定派生類型的復(fù)雜類型(或元素)被用來代替繼承的復(fù)雜類型(或元素)。該值可以包含 #all 或者一個(gè)列表,該列表是 extension、restriction 或 substitution 的子集:
- extension - 防止通過擴(kuò)展派生的復(fù)雜類型被用來替代該復(fù)雜類型。
- restriction - 防止通過限制派生的復(fù)雜類型被用來替代該復(fù)雜類型。
- substitution - 防止元素的替換。
- #all - 防止所有派生的復(fù)雜類型被用來替代該復(fù)雜類型。
finalDefault
可選。規(guī)定在該架構(gòu)的目標(biāo)命名空間中 element、simpleType 和 complexType 元素的 final 屬性的默認(rèn)值。final 屬性防止 element、simpleType 或 complexType 元素的指定的派生類型。對于 element 和 complexType 元素,該值可以包含 #all 或一個(gè)列表,該列表是 extension 或 restriction 的子集。 對于 simpleType 元素,該值還可以包含 list 和 union:
- extension - 默認(rèn)情況下,該 schema 中的元素不能通過擴(kuò)展派生。僅適用于 element 和 complexType 元素。
- restriction - 防止通過限制派生。
- list - 防止通過列表派生。僅適用于 simpleType 元素。
- union - 防止通過聯(lián)合派生。僅適用于 simpleType 元素。
- #all - 默認(rèn)情況下,該 schema 中的元素不能通過任何方法派生。
targetNamespace
該 schema 的命名空間的 URI 引用。還可以分配該命名空間的前綴。如果沒有分配任何前綴,則該命名空間的 schema 組件可以和非限定的引用一起使用。
version
可選。規(guī)定 schema 的版本。
xmlns
規(guī)定在此 schema 中使用的一個(gè)或多個(gè)命名空間的 URI 引用。如果沒有分配前綴,該命名空間的 schema 組件可與未限制的引用使用。
any attributes
可選。規(guī)定帶有 non-schema 命名空間的任何其他屬性。
實(shí)例
例子 1
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="values" type="xs:string"> </xs:schema>
例子 2
在本例中,http://www.w3.org/2001/XMLSchema 命名空間中 schema 組件 (element name, type) 是未限制的,而 http://www.dbjr.com.cn/w3schoolschema (mystring) 是通過 wsc 前綴限制的:
<?xml version="1.0"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsc="http://www.dbjr.com.cn/w3schoolschema"> <element name="fname" type="wsc:mystring"/> </schema>