XML 教程

XML 教程 XML 简介 XML 用途 XML 树结构 XML 语法 XML 元素 XML 属性 XML 命名空间 XML Display XML HttpRequest XML Parser XML DOM XML XPath XML XSLT XML XQuery XML XLink XML 验证器 XML DTD XML Schema XML 服务器 XML 实例 XML 测验

XML AJAX

AJAX 简介 AJAX XMLHttp AJAX 请求 AJAX 响应 AJAX XML 文件 AJAX PHP AJAX ASP AJAX 数据库 AJAX 应用程序 AJAX 实例

XML DOM

DOM 简介 DOM 节点 DOM 访问节点 DOM 节点信息 DOM 节点列表 DOM 节点遍历 DOM 节点导航 DOM 获取节点 DOM 更改节点 DOM 删除节点 DOM 替换节点 DOM 创建节点 DOM 添加节点 DOM 克隆节点 DOM 实例

XPath 教程

XPath 简介 XPath 节点 XPath 语法 XPath 轴(Axes) XPath 运算符 XPath 实例

XSLT 教程

XSLT 简介 XSL 语言 XSLT 转换 XSLT <template> XSLT <value-of> XSLT <for-each> XSLT <sort> XSLT <if> XSLT <choose> XSLT Apply XSLT 客户端 XSLT 服务端 XSLT 编辑 XML XSLT 实例

XQuery 教程

XQuery 简介 XQuery 实例 XQuery FLWOR 表达式 XQuery FLWOR + HTML XQuery 术语 XQuery 语法 XQuery 添加元素和属性 XQuery 选择和过滤 XQuery 函数

XML DTD

DTD 简介 DTD 构建模块 DTD 元素 DTD 属性 DTD 元素 vs. 属性 DTD 实体 DTD 实例

XSD Schema

XSD 简介 XSD How To XSD <schema> XSD 元素 XSD 属性 XSD 限制

XSD Complex

XSD 复杂元素 XSD 空元素 XSD 仅限元素 XSD 纯文本元素 XSD 混合 XSD 指示器 XSD <any> XSD <anyAttribute> XSD 替换 XSD 实例

XSD 数据类型

XSD 字符串 XSD 日期 XSD 数值 XSD 杂项 XSD 参考手册

Web Services

XML Services 简介 XML WSDL XML SOAP XML RDF XML RSS

参考手册

DOM 节点类型 DOM 节点 DOM NodeList DOM NamedNodeMap DOM 文档 DOM 元素 DOM 属性 DOM 文本 DOM CDATA DOM 注释 DOM XMLHttpRequest DOM 解析器 XSLT 元素 XSLT/XPath 函数

XML 架构 element 元素


❮ 完整的 XML 架构参考

定义和用法

element 元素定义了一个元素。

元素信息

  • 父元素: schema, choice, all, sequence, group

语法

<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>

(?号声明该元素可以出现0次或1次,*号声明该元素可以在元素内出现0次或多次)

属性 描述
id 可选。指定元素的唯一 ID
name 可选。 指定元素的名称。 如果父元素是架构元素,则此属性是必需的
ref 可选。指另一个元素的名称。 ref 属性可以包含命名空间前缀。 如果父元素是架构元素,则不能使用该属性
type 可选。指定内置数据类型的名称,或者 simpleType 或 complexType 元素的名称
substitutionGroup 可选。指定可以用此元素替换的元素的名称。 如果父元素不是架构元素,则不能使用此属性
default 可选。指定元素的默认值(仅当元素的内容是简单类型或纯文本时才可以使用)
fixed 可选。为元素指定一个固定值(只能在元素的内容是简单类型或纯文本时使用)
form 可选。指定元素的形式。 "unqualified" 表示此元素不需要使用命名空间前缀进行限定。 "qualified" 表示该元素必须使用命名空间前缀进行限定。 默认值是架构元素的 elementFormDefault 属性的值。 如果父元素是架构元素,则不能使用该属性
maxOccurs 可选。指定此元素可以在父元素中出现的最大次数。 该值可以是任何 >= 0 数字,或者如果您想对最大数字不设限制,请使用值"unbounded"。 默认值为 1。如果父元素是架构元素,则不能使用此属性
minOccurs 可选。指定此元素可以在父元素中出现的最小次数。 该值可以是任意 >= 0 数字。 默认值为 1。如果父元素是架构元素,则不能使用此属性
nillable 可选。指定是否可以将显式空值分配给元素。 True 使元素的实例能够将 null 属性设置为 true。 null 属性被定义为实例的 XML 模式命名空间的一部分。 默认为假
abstract 可选。指定元素是否可以在实例文档中使用。 True 表示该元素不能出现在实例文档中。 相反,其替代组属性包含此元素的限定名称 (QName) 的另一个元素必须出现在此元素的位置。 默认为假
block 可选。防止使用具有指定派生类型的元素代替此元素。 此值可以包含 #all 或作为扩展、限制或 equivClass 子集的列表:
  • extension - 防止由扩展派生的元素
  • restriction - 防止由限制派生的元素
  • substitution - 防止通过替代派生的元素
  • #all - 阻止所有派生元素
final 可选。设置元素元素的最终属性的默认值。如果父元素不是架构元素,则不能使用此属性。 此值可以包含#all 或作为扩展或限制子集的列表:
  • extension - 防止由扩展派生的元素
  • restriction - 防止由限制派生的元素
  • #all - 阻止所有派生元素
any attributes 可选。 指定具有非模式命名空间的任何其他属性

实例 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 架构参考