admin 管理员组

文章数量: 1086019


2024年3月10日发(作者:android开发书籍排行)

XML元素及其属性声明

在前面两小节中介绍了XML Schema数据类型和根元素的声明,在本小节中将

简要介绍XML Schema文档的元素声明以及属性声明。

1、元素声明

W3C XML Schema文档中使用xsd:schema为根元素,根元素表明文档类型,

还包括模式的约束、XML模式名称空间的定义,其他名称空间的定义、版本信息、

语言信息和其他一些属性。

 element元素

W3C XML Schema文档中的元素声明使用element元素来定义,声明的简单类

型元素的格式如下所示:

例如:

元素约束XML文件中的birth没有子元素,并且编辑的数据必须是日期,即内

容必须是“yyyy-mm-dd”形式。

声明复杂类型元素的格式如下所示:

... ...

例如,下列element元素约束XML文件中名称为student的元素:

上述element元素约束名称为student元素必须顺序地由三个子元素。

 定义空元素

在XML文档中有些元素不需要元素内容,也即是元素内容为空。为了声明元

素内容是空的类型,可以通过如下步骤进行定义:

(1)定义一个元素,它只能包含子元素。

(2)在其中不定义任何子元素。

通过上述两步骤就能够定义出内容模型为空的元素类型。

元素声明中“空”的定义根据数据类型不同而有所不同。

 默认值和固定值设定

默认值和固定值通过给空元素增加值的方式来扩展实例。如果元素为空,就填

入默认值。如:

固定值与默认值在相同的情况下添加,它们的差别仅在于如果元素拥有一个

值,则该值必须和固定值相等

 元素引用

如果一个元素在XML文档中不同位置上出现不止一次,那么在描述其结构的

Schema文档中对于该元素的声明就要重复定义。这不仅影响的编写文档的速度,同

时也增加了文档的复杂性。通过element元素的ref属性来使用已经定义的元素。使

用ref属性可以直接将其指向另一个元素定义模块,避免在文档中多次定义同一元

素,使文档更加具有可读性。如下所示:

上述代码保存为文件,在描述元素会员的结构时,要追加子元素联系电

话,而元素联系电话的定义在另一模块,所以可以通过ref属性引用元素联系电话

定义的模块。

ref属性引用的是在不同模块的元素定义,且被引用的元素定义是独立

的。

2、属性声明

对于XML文件中的属性,XML Schema模式使用attribute标记来约束,该标

记的格式如下所示:

其中,use可取值为required、optional、fixed和default。“attribute”标记必须

在“复杂类型”元素中使用,指出“复杂类型”元素约束的XML标记中可以使用

的属性。


本文标签: 元素 定义 文档 声明 约束