XML Schema anyAttribute 元素
-
定义和使用
使用 anyAttribute 元素,作者可以使用架构未指定的属性来扩展 XML 文档。父元素:complexType,限制(simpleContent和complexContent都),扩展名(simpleContent和complexContent都),attributeGroup
-
语法
<anyAttribute id=ID namespace=namespace processContents=lax|skip|strict any attributes > (annotation?) </anyAttribute>
(?符号声明该元素可以在 anyAttribute 元素内出现零次或一次)
-
参数
属性 描述 id 可选的。 指定元素的唯一ID namespace 可选的。 指定包含元素的名称空间;可以设置为以下之一: - ## any-允许来自任何命名空间的元素(默认设置)
- ## other-可以存在来自非父元素名称空间的任何名称空间中的元素
- ## local-元素不得来自任何名称空间
- ## targetNamespace-父元素名称空间中的元素可以存在
- { 名称空间的 URI 引用,## targetNamespace,## local } 的列表-可以存在以空格分隔的名称空间列表中的元素
processContents 可选的。 指定XML处理器应如何处理,针对此 any 元素指定的元素进行验证。 可以设置为以下之一: - strict - XML处理器必须获取所需名称空间的架构并验证元素(这是默认设置)
- lax - 与严格相同,但是; 如果无法获得架构,则不会发生任何错误
- skip - XML处理器不尝试验证来自指定名称空间的任何元素
any attributes 可选的。 用非模式命名空间指定任何其他属性 -
示例
下面的示例显示了一个名为 “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>