XML Schema schema element
Definition and usage
The schema element defines the root element of the schema.
Element information
Occurrence | Once |
Parent element | (无父元素) |
Content | include、import、annotation、redefine、attribute、attributeGroup、element、group、notation、simpleType、complexType |
Syntax
<schema id=ID attributeFormDefault=qualified|unqualified elementFormDefault=qualified|unqualified blockDefault=(#all|list of (extension|restriction|substitution)) finalDefault=(#all|list of (extension|restriction|list|union))}} targetNamespace=anyURI version=token xmlns=anyURI jegliche Attribute > ((include|import|redefine|annotation)*,(((simpleType|complexType| (group|attributeGroup)|element|attribute|notation),annotation*)*) </schema>
Attribute
id
Optional. Definiert die eindeutige ID des Elements.
attributeFormDefault
Optional. Form der Attribute, die im Ziel-Namespace der Schema deklariert werden. Der Wert muss einer der folgenden Zeichenfolgen sein: "qualified" oder "unqualified". Der Standardwert ist "unqualified".
- "unqualified" zeigt an, dass die Attribute des Ziel-Namespace nicht durch Namensräume vorqualifiziert werden müssen.
- "qualified" zeigt an, dass die Attribute des Ziel-Namespace durch Namensräume vorqualifiziert werden müssen.
elementFormDefault
Optional. Form der Elemente, die im Ziel-Namespace der Schema deklariert werden. Der Wert muss einer der folgenden Zeichenfolgen sein: "qualified" oder "unqualified". Der Standardwert ist "unqualified".
- "unqualified" zeigt an, dass die Elemente des Ziel-Namespace nicht durch Namensräume vorqualifiziert werden müssen.
- "qualified" zeigt an, dass die Elemente des Ziel-Namespace durch Namensräume vorqualifiziert werden müssen.
blockDefault
Optional. Definiert den Standardwert der block-Attribut für die element und complexType-Elemente im Ziel-Namespace. Das block-Attribut verhindert, dass komplexe Typen (oder Elemente) mit angegebenem abgeleiteten Typ verwendet werden, um vererbte komplexe Typen (oder Elemente) zu ersetzen. Der Wert kann #all oder eine Liste enthalten, die eine Teilmenge von extension, restriction oder substitution ist:
- extension - Verhindert die Verwendung abgeleiteter komplexer Typen zur Ersetzung des komplexen Typs durch Erweiterung.
- restriction - Verhindert die Verwendung abgeleiteter komplexer Typen zur Ersetzung des komplexen Typs durch Beschränkung.
- substitution - Verhindert die Ersetzung von Elementen.
- #all - Verhindert, dass alle abgeleiteten komplexen Typen verwendet werden, um den komplexen Typ zu ersetzen.
finalDefault
Optional. Definiert den Standardwert für die final-Attribute von element, simpleType und complexType-Elementen im Zielnamensraum des Schemas. Das final-Attribut verhindert die spezifizierte Ableitung von element, simpleType oder complexType-Elementen. Für element und complexType-Elemente kann der Wert #all oder eine Liste enthalten, die die Teilmenge von extension oder restriction ist. Für simpleType-Elemente kann der Wert auch list und union enthalten:
- extension - Standardmäßig können die Elemente in diesem Schema nicht durch Erweiterung abgeleitet werden. Gilt nur für element und complexType-Elemente.
- restriction - Verhindert die Ableitung durch Beschränkung.
- list - Verhindert die Ableitung durch Liste. Gilt nur für simpleType-Elemente.
- union - Verhindert die Ableitung durch Union. Gilt nur für simpleType-Elemente.
- #all - Standardmäßig können die Elemente in diesem Schema nicht durch jegliche Methode abgeleitet werden.
targetNamespace
URI-Referenz des Namensraums dieses Schemas. Es kann auch ein Präfix für diesen Namensraum zugewiesen werden. Wenn kein Präfix zugewiesen ist, können die Schema-Komponenten dieses Namensraums mit nicht eingeschränkten Referenzen gemeinsam verwendet werden.
version
Optional. Definiert die Version des Schemas.
xmlns
Definiert eine oder mehrere Namensraum-URI-Referenzen, die in diesem Schema verwendet werden. Wenn kein Präfix zugewiesen ist, können die Schema-Komponenten dieses Namensraums mit nicht eingeschränkten Referenzen verwendet werden.
jegliche Attribute
Optional. Definiert alle anderen Attribute mit non-schema Namensräumen.
Beispiel
Beispiel 1
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="values" type="xs:string"> </xs:schema>
Beispiel 2
In diesem Beispiel ist der schema-Element (element name, type) in der Namensraum http://www.w3.org/2001/XMLSchema nicht eingeschränkt, während http://www.codew3c.com/codew3cschema (mystring) durch den Präfix wsc eingeschränkt ist:
<?xml version="1.0"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsc="http://www.codew3c.com/codew3cschema" <element name="fname" type="wsc:mystring"/> </schema>