XML Schema any-element

Definition och användning

Any-elementet gör det möjligt för vilket som helst element från den specificerade namnrymden att visas i sequence eller choice-element.

Detta element låter skaparen utöka XML-dokumentet med element som inte är specificerade i schemat.

Elementinformation

Projekt Beskrivning
Antal förekomster Obegränsat
Föräldrelement choice, sequence
Innehåll annotation

Syntaks

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

(?-symbol uttrycker att elementet kan förekomma noll eller en gång inom vilket som helst element.)

Egenskap

id

Valgfritt. Angiver det unika ID:t för detta element.

maxOccurs

Valgfritt. Angiver det maximala antalet gånger som ett any-element kan förekomma i ett föräldrelement. Värdet kan vara ett heltal som är större än eller lika med noll. Om du inte vill sätta någon gräns för det maximala antalet gånger, använd strängen "unbounded". Standardvärdet är 1.

minOccurs

Valfritt. Bestäm den minsta antalet gånger som <any>-elementet kan förekomma i föräldrelementet. Värdet kan vara ett heltal som är större eller lika med noll. För att specificera att denna <any>-grupp är valfri, sätt detta attribut till noll. Standardvärdet är 1.

namespace

Valfritt. Bestäm namnrymden för element som kan användas. Om ingen namnrymd är specificerad, är standardvärdet ##any. Om en namnrymd är specificerad, 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 än den målnamnrymd som innehåller föräldrelementet kan förekomma.
  • ##local - Element som inte är begränsade av en namnrymd kan förekomma.
  • ##targetNamespace - Element från den målnamnrymd som innehåller föräldrelementet kan förekomma.
  • En lista över URI-referenser av namnrymdar, ##targetNamespace, ##local - element från en med mellanslag avskilda namnrymdslistor kan förekomma. Listan kan innehålla följande: URI-referenser för namnrymdar ##targetNamespace och ##local.

processContents

Valfritt. En indikator som anger hur applikationen eller XML-behandlaren ska validera XML-dokumentet baserat på element som specificeras av detta <any>-element. Om processContents-egenskapen inte är specificerad, är standardvärdet strict. Om processContents är specificerad, måste det vara ett av följande värden:

  • strict - XML-behandlaren måste få tillgång till arkitekturen för den nödvändiga namnrymden och måste validera alla element från dessa namnrymdar. (Standard)
  • lax - Liksom strict; men inga fel uppstår även om arkitekturen inte kan hämtas.
  • skip - XML-behandlaren validerar inte alla element från den angivna namnrymden.

alla attribut

Valfritt. Bestäm alla andra attribut med non-schema-namnrymd.

Exempel

Följande exempel visar en deklaration av elementet "person". Genom att använda <any>-elementet kan skaparen utöka innehållet i "person" med vilka element som helst (efter <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>