XML Schema any 元素
XML Schema any 元素使创作者可以通过未被 schema 规定的元素来扩展 XML 文档
<any id=ID maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger namespace=namespace processContents=lax|skip|strict *any attributes* >(annotation?)</any>
? 符号声明元素可在任何元素内出现零次或一次
属性
属性 | 描述 |
---|---|
id | 可选。规定该元素的唯一的 ID |
maxOccurs | 可选。规定 any 元素在父元素中可出现的最小次数 该值可以是大于或等于零的整数 若要指定该 any 组是可选的,请将此属性设置为零 默认值为 1 |
minOccurs | Optional. Specifies the minimum number of times the any element can occur in the parent element. The value can be any number >= 0. Default value is 1 |
namespace | 可选。规定包含可以使用的元素的命名空间。如果没有指定命名空间,则 ##any 为默认值。 如果指定命名空间,则必须是以下值之一:##any - 来自任何命名空间的元素都可以出现(默认)。##other - 来自该元素的父元素的目标命名空间之外的任何命名空间的元素都可以出现。##local - 未由命名空间限定的元素可以出现。##targetNamespace - 来自包含该元素的父元素的目标命名空间的元素可以出现。 |
processContents | 可选。一个指示符,指示应用程序或 XML 处理器应如何根据由该 any 元素指定的元素处理 XML 文档的验证。 如果没有指定 processContents 属性,则默认为 strict。 如果指定了 processContents,必须是以下值之一:strict - XML 处理器必须获得所需命名空间的架构,并且必须验证来自这些命名空间的所有元素。(默认)lax - 与 strict 相同;但是,即使不能获取该架构,也不会发生任何错误。skip - XML 处理器不尝试验证来自指定命名空间的所有元素 |
any attributes | 可选。规定带有 non-schema 命名空间的任何其他属性 |
元素信息
- 父元素: choice, sequence
范例
下面的范例展示了 "person" 元素的一个声明
通过使用 <any> 元素,创作者可以用任何元素扩展 "person" 的内容(在 <lastname> 之后)
<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> <xs:any minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element>