XML 知识量:7 - 28 - 99
简单类型元素是指元素既没有子元素,也没有属性,其声明的语法为:
<xs:element name="元素名称" type="数据类型" minOccurs="最少出现的次数" maxOccurs="最多出现的次数" default="默认值" fixed="固定值" ref="参考已定义的元素">
其中:
element元素用于声明元素,name属性指明要声明的XML元素的名称。
type属性指明该XML元素的数据类型,取值可以为基本数据类型和内置派生数据类型,也可以是由simpleType或complexType元素所声明的自定义数据类型。
minOccurs属性指明在XML文档中元素最少出现的次数,取值最小为0,默认为1。
maxOccurs属性指明在XML文档中元素最多出现的次数,取值最小为1,最大为unbounded(无限多次),默认为1。
default属性指明元素的默认值。
fixed属性指明元素的固定值,注意:fixed与default不能同时存在。
ref属性指明元素参考已定义的元素。
复杂类型元素是指拥有子元素或属性的元素,需要使用complexType元素声明其子元素的名称和数据类型,使用attribute元素声明其属性。复杂类型元素声明的语法为:
<xs:element name="元素名称"> <xs:complexType> <xs:sequence> <xs:element name="子元素1名称" type="数据类型"/> <xs:element name="子元素2名称" type="数据类型"/> ...... </xs:sequence> </xs:complexType> </xs:element>
其中:
第一行element元素的name属性指明要声明的复杂类型元素的名称,其子元素complexType指明第一行element所声明的元素的数据类型是复杂类型元素。
sequence元素是complexType元素的子元素,用于声明在XML文档中子元素的出现顺序。
sequence元素中的子元素,即各element元素描述了子元素的名称和数据类型,也定义了出现的顺序。
除了使用sequence元素定义子元素出现的顺序外,在complexType元素的子元素中还可以使用一些子元素来定义XML元素,使得XML结构更加灵活。如下表所示:
子元素 | 说明 |
---|---|
all | 定义XML所有子元素可以按任何顺序出现 |
sequence | 定义XML子元素只能按规定的顺序出现 |
choice | 定义XML子元素只能选择其中之一 |
group | 将子元素分组,使之更有条理。 |
simpleContent | 没有XML子元素,只有数据内容和属性。 |
complexContent | 只有XML子元素和属性,没有数据内容。 |
声明属性的语法为:
<xs:element name="元素名称"> <xs:complexType> <xs:attribute name="属性名称" type="数据类型" use="optional|required|prohibited" default="默认值" fixed="固定值"/> </xs:complexType> </xs:element>
其中:
简单类型数据没有属性,attribute元素只能出现在complexType元素中。
attribute元素用来声明属性,type表示属性的数据类型,取值可以为基本数据类型和内置派生数据类型,也可以是由simpleType所声明的自定义数据类型。
use属性指明XML文档中属性的使用方式。取值optional表示该属性可有可无,是默认值;required表示属性是必须的;prohibited表示不能使用该属性,用于在restriction元素中限制属性的使用。
default属性指明属性的默认值。
fixed属性指明属性的固定值,注意:fixed与default不能同时存在。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6