XSD 属性

软件工程

  所有的属性均作为简易类型来声明。

  什么是属性?

  简易元素无法拥有属性。假如某个元素拥有属性,它就会被当作某种复合类型。但是属性本身总是作为简易类型被声明的。

  如何声明属性?

  定义属性的语法是

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

  在此处,xxx 指属性名称,yyy 则规定属性的数据类型。XML Schema 拥有很多内建的数据类型。

  最常用的类型是:

  xs:string

  xs:decimal

  xs:integer

  xs:boolean

  xs:date

  xs:time

  实例

  这是带有属性的 XML 元素:

  <lastname>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 schema,您也可向您的 XML 元素及属性添加自己的限定。这些限定被称为 facet(编者注:意为(多面体的)面,可译为限定面)。您会在下一节了解到更多有关 facet 的知识。

  如您还有不明白的可以在下面与我留言或是与我探讨QQ群308855039,我们一起飞!

  小伙伴们,感觉我的分享很不错的别忘记“赞赏”我一下哟!

标签: 软件工程