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>