XML Schema 元素

  • 定义和使用

    schema 元素定义模式的根元素。
    父元素:NONE
  • 语法

    <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 可选的。 在此架构的目标名称空间中声明的属性的形式。 该值必须为 “qualified” 或 “unqualified”。 默认值为“unqualified”。 “unqualified” 表示目标名称空间的属性不需要使用名称空间前缀进行限定。 “qualified” 表示来自目标名称空间的属性必须使用名称空间前缀进行限定
    elementFormDefault 可选的。 在此架构的目标名称空间中声明的元素的形式。 该值必须为“qualified” 或 “unqualified”。 默认值为“unqualified”。 “unqualified” 表示目标名称空间中的元素不需要使用名称空间前缀进行限定。 “qualified” 表示目标名称空间中的元素必须使用名称空间前缀进行限定
    blockDefault 可选的。 指定目标名称空间中element和complexType元素上的block属性的默认值。 block属性可防止使用具有指定派生类型的复杂类型(或元素)代替此复杂类型。 此值可以包含#all或作为扩展,限制或替换的子集的列表:
    • extension -防止由扩展派生的复杂类型
    • restriction -防止由限制派生的复杂类型
    • substitution -防止元素替换
    • #all -防止所有派生的复杂类型
    finalDefault 可选的。 指定目标名称空间中 element,simpleType 和 complexType 元素上的 final 属性的默认值。 final 属性防止指定类型的元素,simpleType 或 complexType 元素派生。 对于 element 和 complexType 元素,此值可以包含 #all 或作为扩展或限制的子集的列表。 对于simpleType元素,此值还可以包含 list 和 union:
    • extension -防止由扩展派生的复杂类型
    • restriction -防止由限制派生的复杂类型
    • list -防止按列表派生
    • union -防止工会派生
    • #all -防止所有派生的复杂类型
    targetNamespace 可选的。 此架构的名称空间的URI引用
    version 可选的。 指定架构的版本
    xmlns 一种URI引用,指定在此架构中使用的一个或多个名称空间。 如果未分配前缀,则名称空间的架构组件可以与不合格的引用一起使用
    any attributes 可选的。 用非模式命名空间指定任何其他属性。
  • 示例

    <?xml version="1.0"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    
    <xs:element name="values" type="xs:string">
    
    </xs:schema>
    在此示例中,http://www.w3.org/2001/XMLSchema 命名空间中的架构组件(元素名称,类型)是不合格的,而 http://www.w3schools.com/w3schoolsschema(mystring)的那些则是合格的 使用 wsc 前缀:
    <?xml version="1.0"?>
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
    xmlns:wsc="http://www.w3schools.com/w3shoolsschema">
    
    <element name="fname" type="wsc:mystring"/>
    
    </schema>