XML Schema anyAttribute-element

Definitie en gebruik

De element 'anyAttribute' laat de maker toe om de XML-document te verbreden met eigenschappen die niet zijn gedefinieerd in het schema.

Elementinformatie

Item Verklaring
Aantal keren dat het voorkomt Geen beperking
Hoofdcomponent complexType, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent), attributeGroup
Inhoud annotatie

Syntaxis

<anyAttribute
id=ID
namespace=namespace
processContents=lax|skip|strict
alle eigenschappen
>
(annotatie?)
</anyAttribute>

(? Het teken ? vermeldt dat het element binnen het anyAttribute-element nul of één keer kan voorkomen.)

Eigenschappen

id

Optioneel. Bepaal het unieke ID van dit element.

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 naamruimtebeperking kunnen voorkomen.
  • ##targetNamespace - Elementen uit de doelnaamruimte van het ouder-element waarin dit element zich bevindt, 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 XML-verwerker de validatie van het XML-document moet afhandelen 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 - Hetzelfde als strict; maar er worden geen fouten gemeld als de structuur niet beschikbaar is.
  • skip - De XML-verwerker controleert geen elementen uit de opgegeven naamruimte.

alle eigenschappen

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

Voorbeeld

Hier is een voorbeeld van een verklaring voor het "person"-element. Door het gebruik van het <anyAttribute>-element kan de maker een onbeperkt aantal eigenschappen toevoegen aan het "person"-element:

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:sequence>
    <xs:anyAttribute/>
  </xs:complexType>
</xs:element>