XSD 属性
所有属性都声明为简单类型。
什么是属性?
简单元素不能拥有属性。如果一个元素拥有属性,则被认为是复杂类型的。但是属性本身总是被声明为简单类型。
如何定义属性?
定义属性的语法为
<xs:attribute name="xxx" type="yyy"/>
其中 xxx 是属性的名称,yyy 指定属性的数据类型。
XML 架构有很多内置数据类型。最常见的类型是
- xs:string
- xs:decimal
- xs:integer
- xs:boolean
- xs:date
- xs:time
示例
这是一个带有属性的 XML 元素
<lastname lang="EN">Smith</lastname>
这是相应的属性定义
<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 架构,您还可以对 XML 元素和属性添加自己的限制。这些限制称为方面。您可以在下一章中了解更多关于方面的知识。