目录

XSD 属性


所有属性都声明为简单类型。


什么是属性?

简单元素不能有属性。如果一个元素具有属性,则它被认为是复杂类型。但属性本身始终声明为简单类型。


如何定义属性?

定义属性的语法是:

<xs:attribute name="xxx" type="yyy"/>

其中 xxx 是属性的名称,yyy 指定属性的数据类型。

XML Schema 有很多内置的数据类型。最常见的类型是:

  • xs:字符串
  • xs:十进制
  • xs:整数
  • xs:布尔值
  • xs:日期
  • xs:时间

示例

这是一个带有属性的 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 元素和属性添加自己的限制。这些限制称为方面。您可以在下一章中阅读有关方面的更多信息。