XML Schema Element Element
Definition and Usage
The element element defines an element.
Element Information
Occurrence | The number of elements defined in the schema. |
Parent Element | schema, choice, all, sequence |
Content | simpleType, complexType, key, keyref, unique |
Syntax
<element id=ID name=NCName ref=QName type=QName substitutionGroup=QName default=string fixed=string form=qualified|unqualified maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger nillable=true|false abstract=true|false block=(#all|list of (extension|restriction)) final=(#all|list of (extension|restriction)) jegliche Attribute > annotation?,((simpleType|complexType)?,(unique|key|keyref)*)) </element>
(The ? symbol declares that the element can appear zero or once, and the * symbol declares that the element can appear zero or more times.)
Attribute
id
Optional. Specifies a unique ID for the element.
name
Optional. Specifies the name of the element. This attribute is required if the parent element is a schema element.
ref
Optional. Refers to another element. The ref attribute can include a namespace prefix. This attribute is not used if the parent element is a schema element.
type
Optional. Specifies the name of an intrinsic data type, or the name of a simpleType or complexType element.
substitutionGroup
Optional. Specifies the name of an element that can be used as a substitute for the current element. This element must have the same type or a type derived from the specified element type.
This attribute cannot be used if the parent element is not a schema element.
default
Optional. Specifies a default value for the element (to be used only when the element content is of a simple type or textOnly).
fixed
Optional. Specifies a fixed value for the element (to be used only when the element content is of a simple type or textOnly).
form
Optional. Die Form des Elements. Standardwert ist der Wert der elementFormDefault-Eigenschaft des Schema-Elements, das diese Eigenschaft enthält. Der Wert muss einer der folgenden Strings sein: "qualified" oder "unqualified".
Diese Eigenschaft kann nicht verwendet werden, wenn das übergeordnete Element das schema-Element ist.
- Wenn dieser Wert "unqualified" ist, muss das Element nicht durch ein Namensraumpräfix eingeschränkt werden.
- Wenn dieser Wert "qualified" ist, muss das Element durch einen Namensraumpräfix eingeschränkt werden.
maxOccurs
Optional. Regelt die maximale Anzahl der Ausgaben des element-Elements im übergeordneten Element. Der Wert kann eine natürliche Zahl sein, die größer oder gleich null ist. Wenn keine Begrenzung der maximalen Anzahl erforderlich ist, verwenden Sie den String "unbounded". Standardwert ist 1.
Diese Eigenschaft kann nicht verwendet werden, wenn das übergeordnete Element das schema-Element ist.
minOccurs
Optional. Regelt die minimale Anzahl der Ausgaben des element-Elements im übergeordneten Element. Der Wert kann eine natürliche Zahl sein, die größer oder gleich null ist. Standardwert ist 1.
Diese Eigenschaft kann nicht verwendet werden, wenn das übergeordnete Element das schema-Element ist.
nillable
Optional. Zeigt an, ob einem Element ein expliziter Nullwert zugewiesen werden kann. Dies gilt für den Inhalt des Elements und nicht für das Attribut des Elements. Standardwert ist false.
Wenn nillable auf true gesetzt ist, kann der Instance des Elements das nil-Attribut auf true setzen. Das nil-Attribut wird als Teil der XML-Schema-Namespace-Namensräume der Instanz definiert.
Zum Beispiel definiert der nächste Abschnitt ein einzelnes Element und setzt nillable auf true.
<xs:element name="myDate" type="xs:date" nillable="true"/>
Das nächste Abschnitt verwendet dieses Element und hat einen expliziten Nullwert (nil-Attribut auf true gesetzt).
<myDate xsi:nil="true"></myDate>
abstract
Optional. Zeigt an, ob das Element im Instanzdokument verwendet werden kann. Wenn der Wert true ist, darf das Element nicht im Instanzdokument auftreten. Im Gegensatz dazu muss das Element, das die QName des Elements im substitutionGroup-Attribut enthält, an der Stelle des Elements auftreten. Mehrere Elemente können das Element im substitutionGroup-Attribut referenzieren. Standardwert ist false.
block
Optional. Abgeleiteter Typ. Die block-Eigenschaft verhindert, dass Elemente mit der angegebenen abgeleiteten Typbezeichnung verwendet werden, um das Element zu ersetzen. Der Wert kann #all oder eine Liste enthalten, die eine Teilmenge von extension, restriction oder substitution ist:
- Verhindert, dass durch Erweiterungen abgeleitete Elemente verwendet werden, um das Element zu ersetzen.
- restriction - Verhindert, dass durch Einschränkung abgeleitete Elemente als Ersatz für dieses Element verwendet werden.
- substitution - Verhindert, dass durch Substitution abgeleitete Elemente als Ersatz für dieses Element verwendet werden.
- #all - Verhindert, dass alle abgeleiteten Elemente als Ersatz für dieses Element verwendet werden.
final
Optional. Setzt die Standardwerte für das Attribut final des Elementes. Wenn das übergeordnete Element nicht das Schema-Element ist, kann dieses Attribut nicht verwendet werden. Der Wert kann #all oder eine Liste enthalten, die aus einer Sammlung von extension oder restriction besteht:
- extension - Verhindert, dass durch Erweiterung abgeleitete Elemente als Ersatz für dieses Element verwendet werden
- restriction - Verhindert, dass durch Einschränkung abgeleitete Elemente als Ersatz für dieses Element verwendet werden
- #all - Verhindert, dass alle abgeleiteten Elemente als Ersatz für dieses Element verwendet werden
jegliche Attribute
Optional. Definiert alle anderen Attribute mit non-schema Namensräumen.
Beispiel
Beispiel 1
Das folgende Beispiel ist ein Schema, das vier einfache Elemente enthält: "fname", "lname", "age" und "dateborn", deren Typen string, nonNegativeInteger und date sind:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="fname" type="xs:string"/> <xs:element name="lname" type="xs:string"/> <xs:element name="age" type="xs:nonNegativeInteger"/> <xs:element name="dateborn" type="xs:date"/> </xs:schema>
Beispiel 2
Das folgende Beispiel ist ein Schema mit einem Element der komplexen Typ "note", das vier einfache Elemente enthält: "to", "from", "heading" und "body":
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Beispiel 3
Dieser Beispiel ist dem Beispiel 2 ähnlich, aber in diesem Beispiel wählen wir die Verwendung der ref-Attribut, um auf den Elementnamen zu verweisen:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element ref="to"/> <xs:element ref="from"/> <xs:element ref="heading"/> <xs:element ref="body"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:schema>