XML Schema any-element

Definitie en gebruik

Een any-element laat elke element van de opgegeven naamruimte zien in een sequence of choice-element.

Dit element laat de maker toe om de XML-document te verbreden met elementen die niet door het schema zijn gedefinieerd.

Elementinformatie

Item Verklaring
Voorkomingsaantal Onbeperkt
Ouder-element choice, sequence
Inhoud annotation

Syntaxis

<any
id=ID
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
namespace=namespace
processContents=lax|skip|strict
enkele eigenschappen
>
(annotation?)
</any>

(? Symbool verklaart dat een element kan voorkomen in elke element eenmaal of niet.)

Eigenschap

id

Optioneel. Stelt het unieke ID van dit element vast.

maxOccurs

Optioneel. Stelt het maximale aantal keren dat een any-element kan voorkomen in een ouder-element vast. De waarde kan een niet-negatief gehele getal zijn. Gebruik de string "unbounded" om geen limiet op het aantal keren te stellen. De standaardwaarde is 1.

minOccurs

Optioneel. Bepaal het minste aantal keren dat het <any>-element in het ouder-element kan voorkomen. De waarde kan een geheel getal groter of gelijk aan nul zijn. Om het <any>-groep optioneel te maken, stel deze eigenschap in op nul. De standaardwaarde is 1.

namespace

Optioneel. Bepaal de naamruimte van de elementen die kunnen worden gebruikt. Als de naamruimte niet is gespecificeerd, is de standaardwaarde ##any. Als de naamruimte is gespecificeerd, moet het een van de volgende waarden zijn:

  • ##any - Elementen uit elke naamruimte kunnen voorkomen (standaard).
  • ##other - Elementen uit elke andere naamruimte dan de doelnaamruimte van het ouder-element kunnen voorkomen.
  • ##local - Elementen zonder naamruimte kunnen voorkomen.
  • ##targetNamespace - Elementen uit de doelnaamruimte van het ouder-element waarin dit element wordt opgenomen, kunnen voorkomen.
  • Lijst van {URI-referenties van namespaces, ##targetNamespace, ##local} - Elementen uit de door spaties gescheiden lijst van namespaces kunnen voorkomen. De lijst kan de volgende inhoud bevatten: URI-referenties van de namespaces ##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 het schema van de vereiste naamruimte verkrijgen en alle elementen van deze naamruimte moeten worden geverifieerd. (Standaard)
  • lax - Het is hetzelfde als strict; maar er wordt geen fout gemeld zelfs als de schema niet beschikbaar is.
  • skip - De XML-verwerker controleert geen elementen van de opgegeven naamruimte.

enkele eigenschappen

Optioneel. Bepaal andere eigenschappen met een non-schematische naamruimte.

Voorbeeld

Hier is een voorbeeld dat een verklaring van een "person"-element toont. Door gebruik te maken van het <any>-element, kan de maker de inhoud van "person" uitbreiden met elk element (na het <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>