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>