XML Schema any-element
Definitie en gebruik
De any-element maakt het mogelijk voor elk element uit de opgegeven namespace om te verschijnen in een sequence of choice-element.
Deze element maakt het mogelijk voor de maker om de XML-document te uitbreiden met elementen die niet zijn gedefinieerd in het schema.
Elementinformatie
Item | Verklaring |
---|---|
Aantal verschijningen | Onbeperkt |
Hoofdlement | choice、sequence |
Inhoud | annotatie |
Syntax
<any id=ID maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger namespace=namespace processContents=lax|skip|strict alle eigenschappen > (annotatie?) </any>
(? Symboolverklarende elementen kunnen in elk element verschijnen zonder of één keer.)
Eigenschap
id
Optioneel. Stel een unieke ID voor dit element in.
maxOccurs
Optioneel. Stel het maximale aantal keren dat het any-element in het ouder-element kan voorkomen vast. De waarde kan een geheel getal groter of gelijk aan nul zijn. Gebruik de string "unbounded" om geen limiet op het maximale aantal te stellen. De standaardwaarde is 1.
minOccurs
Optioneel. Stel het minimale aantal keren dat het any-element in het ouder-element kan voorkomen vast. De waarde kan een geheel getal groter of gelijk aan nul zijn. Om het any-groepje optioneel te maken, stel deze eigenschap op nul in. De standaardwaarde is 1.
namespace
Optioneel. Stel de naamruimte van de elementen die beschikbaar zijn vast. Als de naamruimte niet is gespecificeerd, is de standaardwaarde ##any. Als de naamruimte is gespecificeerd, moet het een van de volgende waarden zijn:
- ##any - Alle elementen uit elke naamruimte kunnen voorkomen (standaard).
- ##other - Alle elementen uit naamruimtes buiten de doelnaamruimte van het ouder-element kunnen voorkomen.
- ##local - Elementen zonder naamruimtebeperking kunnen voorkomen.
- ##targetNamespace - Elementen uit de doelnaamruimte van het ouder-element dat dit element bevat, kunnen voorkomen.
- Lijst van {URI-referenties van naamruimtes, ##targetNamespace, ##local} - Elementen uit de door spaties gescheiden lijst van naamruimtes kunnen voorkomen. Deze lijst kan de volgende inhoud bevatten: de URI-referenties van de naamruimtes ##targetNamespace en ##local.
processContents
Optioneel. Een indicator die aangeeft hoe de applicatie of de XML-verwerker de validatie van het XML-document moet verwerken op basis van de elementen die door het any-element zijn gespecificeerd. Als de property processContents niet is gespecificeerd, is de standaardwaarde strict. Als processContents is gespecificeerd, moet het een van de volgende waarden zijn:
- strict - De XML-verwerker moet de structuur van de vereiste naamruimte verkrijgen en alle elementen uit deze naamruimte moeten worden geverifieerd. (Standaard)
- lax - Net als strict; maar er gebeurt niets fout als de structuur niet beschikbaar is.
- skip - De XML-verwerker controleert geen elementen uit de opgegeven naamruimte.
alle eigenschappen
Optioneel. Stel alle andere eigenschappen met de non-schema naamruimte vast.
Voorbeeld
Hier is een voorbeeld van een verklaring van het "person"-element. Door het gebruik van het <any>-element kan de maker de inhoud van "person" uitbreiden met elk element (na het <lastname>-element):
<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>