XML Schema any 元素
定义和用法
any 元素使来自指定命名空间的任何元素可以显示在包含 sequence 或 choice 元素中。
该元素使创作者可以通过未被 schema 规定的元素来扩展 XML 文档。
元素信息
项目 | 说明 |
---|---|
出现次数 | 无限制 |
父元素 | choice、sequence |
内容 | annotation |
语法
<any id=ID maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger namespace=namespace processContents=lax|skip|strict valfria attribut > (annotation?) </any>
(? 符号声明元素可在任何元素内出现零次或一次。)
属性
id
Valfritt. Anger det unika ID:t för elementet.
maxOccurs
Valfritt. Anger den maximala antalet gånger som any-elementet kan förekomma i föräldrelementet. Värdet kan vara ett heltal som är större än eller lika med noll. Använd strängen "unbounded" för att inte sätta några begränsningar på det maximala antalet. Standardvärdet är 1.
minOccurs
Valfritt. Anger den minsta antalet gånger som any-elementet kan förekomma i föräldrelementet. Värdet kan vara ett heltal som är större än eller lika med noll. För att specificera att denna any-grupp är valfri, sätt detta attribut till noll. Standardvärdet är 1.
namespace
Valfritt. Anger namnrymden för element som kan användas. Om ingen namespace är specificerad, är standardvärdet ##any. Om en namespace är specificerad, måste det vara ett av följande värden:
- ##any - Element från alla namnrymdar kan förekomma (standard).
- ##other - Element från alla andra namnrymdar utanför den målnamespace som elementet tillhör kan förekomma.
- ##local - Element som inte är begränsade av en namespace kan förekomma.
- ##targetNamespace - Element från den målnamespace som innehåller det här elementet kan förekomma.
- {URI-referenser av namnrymdar, ##targetNamespace, ##local} lista - Element från en med mellanslag separerad lista av namnrymdar kan förekomma. Listan kan innehålla följande: URI-referenser för namnrymdar ##targetNamespace och ##local.
processContents
Valfritt. En indikator som anger hur applikationen eller XML-handlaren bör hantera valideringen av XML-dokumentet enligt element som specificeras av detta any-element. Om processContents-egenskapen inte är specificerad, är standardvärdet strict. Om processContents är specificerad, måste det vara ett av följande värden:
- strict - XML-handlaren måste få tag på den nödvändiga namnrymdens arkitektur och måste validera alla element från dessa namnrymdar. (Standard)
- lax - Som strict; men inga fel inträffar även om man inte kan få tag på den arkitekturen.
- skip - XML-handlaren validerar inte alla element från den angivna namnrymden.
valfria attribut
Valfritt. Anger alla andra attribut med non-schema-namnrymd.
Exempel
Följande exempel visar en deklaration av "person"-elementet. Genom att använda <any>-elementet kan skaparen utöka innehållet i "person" med vilket element som helst (efter <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>