所有属性被声明为简单类型。
什么是属性?
简单的元素不能有属性。 如果一个元素的属性,它被认为是一个复杂类型。 但是属性本身总是声明为简单的类型。
如何定义属性?
定义属性的语法是:
<xs:attribute name="xxx" type="yyy"/>
其中xxx是属性的名称,yyy指定属性的数据类型。
XML模式有很多内置的数据类型。 最常见的类型是:
- XS:字符串
- XS:十进制
- XS:整数
- XS:布尔
- XS:日期
- XS:时间
例
下面是一个属性的XML元素:
<lastname lang="EN">Smith</lastname>
这里是corresponding的属性定义:
<xs:attribute name="lang" type="xs:string"/>
默认值和修正值属性
属性可以具有默认值,或指定的固定值。
没有指定其他值时,默认值就会自动分配给该属性。
在下面的例子中,默认值为"EN"
<xs:attribute name="lang" type="xs:string" default="EN"/>
固定值也会自动分配给属性,不能指定另一个值。
在下面的例子中,固定值"EN"
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
可选和必需的属性
属性默认都是可选的。 要指定属性是必需的,使用"use"的属性:
<xs:attribute name="lang" type="xs:string" use="required"/>
在内容限制
当XML元素或属性具有定义的数据类型,它把在元件的或属性的内容的限制。
如果一个XML元素的类型是"xs:date" ,并包含像串"Hello World"该元素不会验证。
在XML Schema,你也可以添加自己的限制,以你的XML元素和属性。 这些限制是所谓的方面。 您可以在下一章了解更多关于面。