> XML Schema anyAttribute 元素

XML Schema anyAttribute 元素

定义和用法

anyAttribute 元素使创作者可以通过未被 schema 规定的属性来扩展 XML 文档。

元素信息

项目 说明
出现次数 无限制
父元素 complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent)、attributeGroup
内容 annotation

语法

<anyAttribute
id=ID
namespace=namespace
processContents=lax|skip|strict
any attributes
>

(annotation?)

</anyAttribute>

(? 符号声明该元素可在 anyAttribute 元素内出现零次或一次。)

属性

id

可选。规定该元素的唯一的 ID。

namespace

可选。规定包含可以使用的元素的命名空间。如果没有指定命名空间,则 ##any 为默认值。如果指定命名空间,则必须是以下值之一。

  • ##any - 来自任何命名空间的元素都可以出现(默认)。
  • ##other - 来自该元素的父元素的目标命名空间之外的任何命名空间的元素都可以出现。
  • ##local - 未由命名空间限定的元素可以出现。
  • ##targetNamespace - 来自包含该元素的父元素的目标命名空间的元素可以出现。
  • {URI references of namespaces, ##targetNamespace, ##local} 的列表 - 来自通过空格分隔的命名空间列表的元素可以出现。 该列表可以包含以下内容: 命名空间 ##targetNamespace 和 ##local 的 URI 引用。

processContents

可选。一个指示符,指示应用程序或 XML 处理器应如何根据由该 any 元素指定的元素处理 XML 文档的验证。 如果没有指定 processContents 属性,则默认为 strict。 如果指定了 processContents,必须是以下值之一。

  • strict - XML 处理器必须获得所需命名空间的架构,并且必须验证来自这些命名空间的所有元素。(默认)
  • lax - 与 strict 相同;但是,即使不能获取该架构,也不会发生任何错误。
  • skip - XML 处理器不尝试验证来自指定命名空间的所有元素。

any attributes

可选。规定带有 non-schema 命名空间的任何其他属性。

实例

下面的例子展示了针对 "person" 元素的一个声明。通过使用 <anyAttribute> 元素,创作者能够向 "person" 元素添加任意数量的属性:

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:sequence>
    <xs:anyAttribute/>
  </xs:complexType>
</xs:element>
参考手册

W3c0.com 提供的内容仅用于培训。我们不保证内容的正确性。通过使用本站内容随之而来的风险与本站无关。W3c0 简体中文版的所有内容仅供测试,对任何法律问题及风险不承担任何责任。 当使用本站时,代表您已接受了本站的使用条款和隐私条款。版权所有,保留一切权利。 鲁ICP备15022115号