XML Schema anyAttribute-Element

Definition und Verwendung

Das anyAttribute-Element ermöglicht es dem Ersteller, das XML-Dokument durch Eigenschaften zu erweitern, die nicht im Schema definiert sind.

Element-Informationen

Projekt Erklärung
Anzahl der Auftretungen unbeschränkt
Eltern-Element complexType, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent), attributeGroup
Inhalt Anmerkung

Syntax

<anyAttribute
id=ID
namespace=namespace
processContents=lax|auslassen|strict
beliebige Eigenschaften
>
(Anmerkung?)
</anyAttribute>

(? Zeichen deutet darauf hin, dass das Element im anyAttribute-Element null oder einmal auftreten kann.)

Attribute

id

Optional. Bestimmt die eindeutige ID dieses Elements.

namespace

Optional. Bestimmt den Namespace der Elemente, die verwendet werden können. Wenn kein Namespace angegeben ist, ist der Standard ##any. Wenn ein Namespace angegeben ist, muss einer der folgenden Werte sein.

  • ##any - Elemente aus jedem Namespace können auftreten (Standard).
  • ##other - Elemente aus jedem Namespace außer dem Zielnamespace des übergeordneten Elements können auftreten.
  • ##local - Elemente ohne Namespace-Beschränkung können auftreten.
  • ##targetNamespace - Elemente aus dem Zielnamespace des übergeordneten Elements, das dieses Element enthält, können auftreten.
  • Liste von {URI-Referenzen von Namespaces, ##targetNamespace, ##local} - Elemente aus einer durch Leerzeichen getrennten Namespace-Liste können auftreten. Diese Liste kann enthalten: Die URI-Referenzen der Namespaces ##targetNamespace und ##local.

processContents

Optional. Ein Indikator, der angibt, wie die Anwendung oder der XML-Processor das Validieren des XML-Dokuments auf Basis der durch das any-Element angegebenen Elemente behandeln sollte. Wenn der processContents-Attribut nicht angegeben ist, ist der Standard strict. Wenn processContents angegeben ist, muss einer der folgenden Werte sein.

  • strict - Der XML-Processor muss das Schema für den erforderlichen Namespace erhalten und alle Elemente aus diesen Namespaces überprüfen müssen. (Standard)
  • lax - Wie strict; aber es wird keine Fehler geben, selbst wenn das Schema nicht abgerufen werden kann.
  • auslassen - Der XML-Processor überprüft keine Elemente aus der angegebenen Namespace.

beliebige Eigenschaften

Optional. Bestimmt jede andere Eigenschaft mit non-schema-Namespace.

Beispiel

Das folgende Beispiel zeigt eine Erklärung für das "person"-Element. Durch die Verwendung des <anyAttribute>-Elements kann der Schöpfer dem "person"-Element eine beliebige Anzahl von Attributen hinzufügen:

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