XSD 属性

创建于 2024-12-03 / 31
字体: [默认] [大] [更大]

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


什么是属性?

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


如何定义属性?

定义属性的语法是:

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

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

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

  • 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元素和属性添加自己的限制。这些限制称为面。你可以在下一章阅读更多关于方面的内容。



0 人点赞过