XML Schema any-element
Definition och användning
Any-elementet gör det möjligt för vilket som helst element från den specificerade namnrymden att visas i sequence eller choice-element.
Detta element låter skaparen utöka XML-dokumentet med element som inte är specificerade i schemat.
Elementinformation
Projekt | Beskrivning |
---|---|
Antal förekomster | Obegränsat |
Föräldrelement | choice, sequence |
Innehåll | annotation |
Syntaks
<any id=ID maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger namespace=namespace processContents=lax|skip|strict alla attribut > (annotation?) </any>
(?-symbol uttrycker att elementet kan förekomma noll eller en gång inom vilket som helst element.)
Egenskap
id
Valgfritt. Angiver det unika ID:t för detta element.
maxOccurs
Valgfritt. Angiver det maximala antalet gånger som ett any-element kan förekomma i ett föräldrelement. Värdet kan vara ett heltal som är större än eller lika med noll. Om du inte vill sätta någon gräns för det maximala antalet gånger, använd strängen "unbounded". Standardvärdet är 1.
minOccurs
Valfritt. Bestäm 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 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. Bestäm namnrymden för element som kan användas. Om ingen namnrymd är specificerad, är standardvärdet ##any. Om en namnrymd ä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 än den målnamnrymd som innehåller föräldrelementet kan förekomma.
- ##local - Element som inte är begränsade av en namnrymd kan förekomma.
- ##targetNamespace - Element från den målnamnrymd som innehåller föräldrelementet kan förekomma.
- En lista över URI-referenser av namnrymdar, ##targetNamespace, ##local - element från en med mellanslag avskilda namnrymdslistor 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-behandlaren ska validera XML-dokumentet baserat på 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-behandlaren måste få tillgång till arkitekturen för den nödvändiga namnrymden och måste validera alla element från dessa namnrymdar. (Standard)
- lax - Liksom strict; men inga fel uppstår även om arkitekturen inte kan hämtas.
- skip - XML-behandlaren validerar inte alla element från den angivna namnrymden.
alla attribut
Valfritt. Bestäm alla andra attribut med non-schema-namnrymd.
Exempel
Följande exempel visar en deklaration av elementet "person". Genom att använda <any>-elementet kan skaparen utöka innehållet i "person" med vilka 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>