Druck-Version
Deutsch Nederlands English
Inhaltsverzeichnis
Teile: Teil: XML Teil: PHP Quellenverzeichnis
Pfad: > Teil: XML > XML-Schema > Element-Inhalte
Benachbarte Abschnitte: Komplexe Typen simplen Typs Gemischte Inhalte Leerer Inhalt anyType
1.3.5.3. Leerer Inhalt

Angenommen, man möchte im internationalPrice Element sowohl die Währung als auch den Betrag als Attribut angeben, und das Element ansonsten leer belassen.

Beispiel 35: Ein leeres Element
<internationalPrice currency="EUR" value="423.46"/>  

Um dies zu erreichen, deklariert man ein Element, welches ausschließlich Kindelemente als Inhalt haben darf, ohne jedoch Kindelemente anzugeben.

Beispiel 36: Umständliche Definition eines leeren Elements
<xsd:element name="internationalPrice"> 
	<xsd:complexType> 
		<xsd:complexContent> 
			<xsd:restriction base="xsd:anyType"> 
				<xsd:attribute name="currency" type="xsd:string"/> 
				<xsd:attribute name="value" type="xsd:decimal"/> 
			</xsd:restriction> 
		</xsd:complexContent> 
	</xsd:complexType> 
</xsd:element>  

In diesem Beispiel wird ein anonymer Typ mit complexContent (also nur Elemente) definiert, Das complexContent-Element deutet an, dass das Inhaltsmodell anschliessend eingeschränkt oder erweitert werden soll und die Restriktion von anType deklariert zwei Attribute, führt allerdings keine Elemente ein.

Die hier gezeigte Deklaration ist allerdings ziemlich umständlich.

Beispiel 37: Kompakte Deklaration eines leeren Elements
<xsd:element name="internationalPrice"> 
	<xsd:complexType> 
		<xsd:attribute name="currency" type="xsd:string"/> 
		<xsd:attribute name="value" type="xsd:decimal"/> 
	</xsd:complexType> 
</xsd:element> 

Diese kürzere Schreibweise funktioniert ohne simpleContent und complexContent, da sie als Kurzschreibweise interpretiert wird für complexContent mit der Restriktion von anyType.