XML Schema anyAttribute element

Definition and usage

The anyAttribute element allows creators to extend the XML document with attributes not specified by the schema.

element information

item description
occurrence unrestricted
parent element complexType, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent), attributeGroup
Innehåll anteckning

Syntaks

<anyAttribute
id=ID
namespace=namespace
processContents=lax|skip|strict
valfria attribut
>
(anteckning?)
</anyAttribute>

(?-teckenet anger att elementet kan förekomma noll eller en gång inom anyAttribute-elementet.)

Egenskaper

id

Valfritt. Definiera det unika ID:t för elementet.

namespace

Valfritt. Definiera namnrymden för element som kan användas. Om ingen namnrymd är specificerad, är standarden ##any. Om en namnrymd specificeras, 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 utanför den målnamnrymd som innehåller det aktuella elementet kan förekomma.
  • ##local - Element utan namnrymdsgräns kan förekomma.
  • ##targetNamespace - Element från den målnamnrymd som innehåller det aktuella elementet kan förekomma.
  • En lista över URI-referenser av namnrymdar, ##targetNamespace, ##local - Element från en med mellanslag åtskilda namnrymdslista kan förekomma. Listan kan innehålla följande: URI-referenser till namnrymdar ##targetNamespace och ##local.

processContents

Valfritt. En indikator som anger hur applikationen eller XML-handlaren bör behandla valideringen av XML-dokumentet baserat på element som specificeras av detta any-element. Om processContents-attributet inte är specificerat, är standarden strict. Om processContents är specificerat, måste det vara ett av följande värden.

  • strict - XML-handlaren måste få tag på den nödvändiga namnrymdens schema och måste verifiera alla element från dessa namnrymdar. (Standard)
  • lax - Som strict; men inga fel uppstår även om man inte kan få tag på den specifika skalan.
  • skip - XML-handlaren verifierar inte alla element från den specificerade namnrymden.

valfria attribut

Valfritt. Definiera alla andra attribut med non-schema-namnrymd.

Exempel

Följande exempel visar en deklaration för "person"-elementet. Genom att använda <anyAttribute>-elementet kan skaparen lägga till ett obegränsat antal egenskaper till "person"-elementet:

<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>