其实XML文档主要常用的概念就是元素(element)、属性(attribute),而实体(entity)就不提倡自定义了,读者使用XML文档自定义的几个实体完全满足应用。使用schema文档定义大家更多关注的是数据类型(date type)和限定(facets)。
属性(attribute)的定义与简单元素的定义基本格式基本一样,只是元素定义使用element,而属性定义使用attribute而已。我们还是从简单类型的元素进行说明。会了简单元素定义,复杂类型就比较容易理解了。
语法格式:
<xs:attribute name="属性名称" type="属性的数据类型"/>
在schema文档定义属性实例:
<xs:attribute name="kinds" type="xs:string"/>
在XML文档中使用举例:
<books kinds=“英语”>科技图书</kinds>
属性的数据类型与定义元素的数据类型是一样的,例如有以下几个,如果感觉不够也可以自己定义数据类型。
常用类型:
xs:string
xs:decimal
xs:integer
xs:boolean
xs:date
xs:time
这些数据类型使用方法与上面例子一样,不用再举例了。定义属性的数据类型,后直接增加缺省值(default)和固定值(fixed)。使用方法也与元素(element)道理相同。
例如:在schema文档定义缺省和固定值。
<xs:attribute name=“kinds” type=“xs:string”default=“中国”/>
<xs:attribute name=“kinds ” type=“xs:string”fixed=“中国”/>
定义了缺省值,那么在编辑XML文档是如果是中文类图书就可免去麻烦,如果是英文书籍就可以写全。如:
<books kinds=“英语”>科技图书</kinds>
如果是中文图书可以简写,不必写属性kinds=“中文”。例如:
<books>科技图书</kinds>
固定属性值是不能省略的,你填写的书籍内容必须规定为属性种类。
例如:
<books kings=“英语”>科技图书</kinds>
如果写别的属性,文档检查时通不过。
下面再介绍一种属性。可选的和必须的(required)。XML文档在缺省的情况下是可选的,但是加上required(必须的)属性时,在编制文档时必须出现。这个属性不是数据类型,不能使用type指令,而是使用use(使用)。例如:
<xs:attribute name=“kinds” type=“xs:string”use=“required”/>
这个定义说明,属性值必选。例如:在XML文档中必须添加属性,不能缺省。
<books kings=“英语”>科技图书</kinds>
这里kings=“英语”在写标记时必须使用属性。
北荒客
2020.3.3