XML Schema schema 元素


定义和用法

schema 元素定义 schema 的根元素。

元素信息
出现次数一次
父元素(无父元素)
内容include、import、annotation、redefine、attribute、attributeGroup、element、group、notation、simpleType、complexType
语法
  1. <schema
  2. id=ID
  3. attributeFormDefault=qualified|unqualified
  4. elementFormDefault=qualified|unqualified
  5. blockDefault=(#all|list of (extension|restriction|substitution))
  6. finalDefault=(#all|list of (extension|restriction|list|union))
  7. targetNamespace=anyURI
  8. version=token
  9. xmlns=anyURI
  10. any attributes
  11. >
  12. ((include|import|redefine|annotation)*,(((simpleType|complexType|
  13. group|attributeGroup)|element|attribute|notation),annotation*)*)
  14. </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
  1. <?xml version="1.0"?>
  2. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  3. <xs:element name="values" type="xs:string">
  4. </xs:schema>
例子 2

在本例中,http://www.w3.org/2001/XMLSchema 命名空间中 schema 组件 (element name, type) 是未限制的,而 https://cankaoshouce.com/schema (mystring) 是通过 wsc 前缀限制的:

  1. <?xml version="1.0"?>
  2. <schema xmlns="http://www.w3.org/2001/XMLSchema"
  3. xmlns:wsc="https://cankaoshouce.com/schema">
  4. <element name="fname" type="wsc:mystring"/>
  5. </schema>

分类导航