XML Schema any-element

Definition og brug

Any-elementet gør det muligt for enhver element fra den angivne navnerum at vises i et element, der indeholder sequence eller choice-elementer.

Dette element muliggør, at skaberne kan udvide XML-dokumentet med elementer, der ikke er defineret i schemaet.

Elementinformation

Projekt Beskrivelse
Antal gange Ubegrænset
Forældrelig element choice, sequence
Indhold annotation

Syntaks

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

(? Symbolet betyder, at elementet kan optræde nul eller én gang i ethvert element.)

Egenskab

id

Valgfri. Angiver det unikke ID for dette element.

maxOccurs

Valgfri. Angiver den maksimale antal gange, som et 'any'-element kan optræde i en forældrelig element. Værdien kan være et heltal, der er større end eller lig med 0. Hvis du ikke ønsker at sætte nogen grænse for maksimalt antal, skal du bruge strengen "unbounded". Standardværdien er 1.

minOccurs

Valgfri. Angiver den mindste gang, <any>-elementet kan forekomme i parent-elementet. Værdien kan være et heltal større end eller lig med 0. For at specificere, at denne <any>-gruppe er valgfri, skal dette attribut værdi sættes til 0. Standardværdien er 1.

namespace

Valgfri. Angiver navnespaces, hvor elementer kan bruges. Hvis ingen navnespace er specificeret, er standardværdien ##any. Hvis en navnespace er specificeret, skal det være en af følgende værdier:

  • ##any - Elementer fra enhver navnespace kan forekomme (standard).
  • ##other - Elementer fra enhver navnespace uden for den målnavnespace, der indeholder dette element, kan forekomme.
  • ##local - Elementer, der ikke er begrænsede af en navnespace, kan forekomme.
  • ##targetNamespace - Elementer fra den målnavnespace, der indeholder det element, der indeholder dette element, kan forekomme.
  • {URI-referencer af navnespaces, ##targetNamespace, ##local} listen - Elementer fra en med mellemrum adskilt liste af navnespaces kan forekomme. Listen kan indeholde følgende indhold: URI-referencer for navnespaces ##targetNamespace og ##local.

processContents

Valgfri. En indikator, der angiver, hvordan applikationen eller XML-håndtereren skal håndtere validering af XML-dokumentet baseret på elementerne specificeret af dette <any>-element. Hvis processContents-attributten ikke er specificeret, er standardværdien strict. Hvis processContents er specificeret, skal det være en af følgende værdier:

  • strict - XML-håndtereren skal få den nødvendige arkitektur for den ønskede navnespace og skal verificere alle elementer fra disse navnespaces. (Standard)
  • lax - Som strict; men der opstår ingen fejl, selvom arkitekturen ikke kan fås.
  • skip - XML-håndtereren prøver ikke at verificere alle elementer fra den angivne navnespace.

any attributes

Valgfri. Angiver hvilke andre egenskaber, der er defineret med non-schema-namnspacem.

Eksempel

Følgende eksempel viser en erklæring af "person"-elementet. Ved brug af <any>-elementet kan skaberen udvide indholdet af "person" med hvilken som helst element (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>