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.2. Gemischte Inhalte
Folgendes Beispiel illustriert die Verwendung von Kindelementen gemischt mit Zeichendaten.
Beispiel 33: Gemischte Inhalte eines Elements
<letterBody>
<salutation>Dear Mr.<name>Robert Smith</name>.</salutation>
Your order of <quantity>1</quantity> <productName>Baby
Monitor</productName> shipped from our warehouse on
<shipDate>1999-05-21</shipDate>. <!-- u.s.w. -->
</letterBody>
Um diesen Auszug eines Instanzdokuments zu ermöglichen, müssen die verwendeten Elemente wie folgt deklariert werden.
Beispiel 34: Deklaration von Elementen mit gemischtem Inhalt
<xsd:element name="letterBody">
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:element name="salutation">
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="quantity" type="xsd:positiveInteger"/>
<xsd:element name="productName" type="xsd:string"/>
<xsd:element name="shipDate" type="xsd:date"
minOccurs="0"/>
<!-- u.s.w. -->
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Sämtliche Elemente werden wie gewohnt deklariert. Um nun Zeichendaten innerhalb eines Elements zu ermöglichen, wird das Attribut mixed in der Typdefinition auf "true" gesetzt.
Das mixed-Modell in XML-Schema unterscheidet sich grundlegend vom mixed-Modell in DTD. In XML-Schema müssen die Reihenfolge und die Anzahl der Kindelementen in einem Instanzdokument übereinstimmen mit der entsprechenden Spezifizierung. Im XML 1.0 DTD-Modell jedoch, kann die Reihenfolge und die Anzahl der Kindelemente nicht vorgegeben werden.






