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>