XML Schema any 元素
定義和用法
any 元素使來自指定命名空間的任何元素可以顯示在包含 sequence 或 choice 元素中。
該元素使創(chuàng)作者可以通過未被 schema 規(guī)定的元素來擴展 XML 文檔。
元素信息
項目 | 說明 |
---|---|
出現(xiàn)次數(shù) | 無限制 |
父元素 | choice、sequence |
內(nèi)容 | annotation |
語法
<any id=ID maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger namespace=namespace processContents=lax|skip|strict any attributes > (annotation?) </any>
(? 符號聲明元素可在任何元素內(nèi)出現(xiàn)零次或一次。)
屬性
id
可選。規(guī)定該元素的唯一的 ID。
maxOccurs
可選。規(guī)定 any 元素在父元素中可出現(xiàn)的最大次數(shù)。該值可以是大于或等于零的整數(shù)。若不想對最大次數(shù)設(shè)置任何限制,請使用字符串 "unbounded"。 默認值為 1。
minOccurs
可選。規(guī)定 any 元素在父元素中可出現(xiàn)的最小次數(shù)。該值可以是大于或等于零的整數(shù)。若要指定該 any 組是可選的,請將此屬性設(shè)置為零。 默認值為 1。
namespace
可選。規(guī)定包含可以使用的元素的命名空間。如果沒有指定命名空間,則 ##any 為默認值。 如果指定命名空間,則必須是以下值之一:
- ##any - 來自任何命名空間的元素都可以出現(xiàn)(默認)。
- ##other - 來自該元素的父元素的目標(biāo)命名空間之外的任何命名空間的元素都可以出現(xiàn)。
- ##local - 未由命名空間限定的元素可以出現(xiàn)。
- ##targetNamespace - 來自包含該元素的父元素的目標(biāo)命名空間的元素可以出現(xiàn)。
- {URI references of namespaces, ##targetNamespace, ##local} 的列表 - 來自通過空格分隔的命名空間列表的元素可以出現(xiàn)。 該列表可以包含以下內(nèi)容: 命名空間 ##targetNamespace 和 ##local 的 URI 引用。
processContents
可選。一個指示符,指示應(yīng)用程序或 XML 處理器應(yīng)如何根據(jù)由該 any 元素指定的元素處理 XML 文檔的驗證。 如果沒有指定 processContents 屬性,則默認為 strict。 如果指定了 processContents,必須是以下值之一:
- strict - XML 處理器必須獲得所需命名空間的架構(gòu),并且必須驗證來自這些命名空間的所有元素。(默認)
- lax - 與 strict 相同;但是,即使不能獲取該架構(gòu),也不會發(fā)生任何錯誤。
- skip - XML 處理器不嘗試驗證來自指定命名空間的所有元素。
any attributes
可選。規(guī)定帶有 non-schema 命名空間的任何其他屬性。
例子
下面的例子展示了 "person" 元素的一個聲明。通過使用 <any> 元素,創(chuàng)作者可以用任何元素擴展 "person" 的內(nèi)容(在 <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>