最新的Web开发教程
 

XML架构元素元素


<XML Schema参考手册

定义和用法

元素元素定义的元素。

元素信息

  • Parent elements:架构,选择,全部序列,组

句法

<element
id=ID
name=NCName
ref=QName
type=QName
substitutionGroup=QName
default=string
fixed=string
form=qualified|unqualified
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
nillable=true|false
abstract=true|false
block=(#all|list of (extension|restriction))
final=(#all|list of (extension|restriction))
any attributes
>

annotation?,(simpleType|complexType)?,(unique|key|keyref)*

</element>

(?符号声明元素可出现零次或一次,*符号声明元素可出现在元素元素中零次或多次)

属性 描述
id 可选的。 指定一个唯一的ID为元素
name 可选的。 指定元素的名称。 如果父元素是schema元素,这个属性是必需的
ref 可选的。 指另一元素的名称。 该ref属性可以包含一个命名空间前缀。 如果父元素是schema元素,这个属性不能使用
type 可选的。 指定的任一名称的内置的数据类型,或规定simpleType或complexType元素的名称
substitutionGroup 可选的。 指定可与此元素被取代的元素的名称。 如果父元素不是schema元素,这个属性不能使用
default 可选的。 指定元素的默认值(如果该元素的含量是简单类型或文字只能用于仅)
fixed 可选的。 指定元件的固定值(如果该元素的含量是简单类型或文字只能用于仅)
form 可选的。 指定元素的形式。 "unqualified"表示不需要该元素的命名空间前缀限定。 "qualified"表示该元素必须通过命名空间前缀限定。 默认值是的值elementFormDefault模式元素的属性。 如果父元素是schema元素,这个属性不能使用
maxOccurs 可选的。 指定可发生在父元素此元素的最大次数。 该值可以是任何数字> = 0,或者如果你想设置的最大数量没有限制,使用值"unbounded" 。 默认值是1。此属性不能使用,如果父元素是schema元素
minOccurs 可选的。 指定的最小次数,就可能出现在父元素这个元素。 的值可以是任何数> = 0。默认值为1,这个属性不能被使用,如果父元素是schema元素
nillable 可选的。 指定显式空值是否可以被分配到的元素。 真正使元素的实例有null属性设置为true。 该null属性被定义为XML模式命名空间的实例的一部分。 默认为false
abstract 可选的。 指定是否元素可以在实例文档中使用。 True表示该元素不能出现在实例文档英寸 相反,另一种元素,其substitutionGroup属性包含限定名称(QName)此元素必须出现在此元素的地方。 默认为false
block 可选的。 防止元素与替代该元素被用来指定类型推导。 这个值可以包含#all或者是分机,限制,或equivClass的一个子集的列表:
  • extension - 防止通过扩展派生的元素
  • restriction - 防止通过限制派生的元素
  • substitution - 防止通过替换派生的元素
  • #ALL - 防止所有派生的元素
final 可选的。 设置的默认值final元素元素属性。 如果父元素是不是架构元件,这个属性不能使用。 这个值可以包含#all或者是扩展或限制的一个子集的列表:
  • extension - 防止通过扩展派生的元素
  • restriction - 防止通过限制派生的元素
  • #ALL - 防止所有派生的元素
any attributes 可选的。 规定带有non-schema命名空间的任何其他属性。

例1

下面的例子是与名为四个简单的元素架构"fname" "lname" "age""dateborn"这是字符串类型,非负,和日期:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="fname" type="xs:string"/>
<xs:element name="lname" type="xs:string"/>
<xs:element name="age" type="xs:nonNegativeInteger"/>
<xs:element name="dateborn" type="xs:date"/>

</xs:schema>

例2

下面的例子是用命名的元素架构"note"这是一个复杂类型。 该"note"元素包含其他四个简单的元素; "to""from""heading""body"

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="note">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="to" type="xs:string"/>
      <xs:element name="from" type="xs:string"/>
      <xs:element name="heading" type="xs:string"/>
      <xs:element name="body" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

</xs:schema>

例3

这个例子是等于实施例2,但在这里,我们选择使用ref属性来引用元素名称:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="note">
  <xs:complexType>
    <xs:sequence>
    <xs:element ref="to"/>
    <xs:element ref="from"/>
    <xs:element ref="heading"/>
    <xs:element ref="body"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>

</xs:schema>

<XML Schema参考手册