Σύνθετοι τύποι XSD με μίγμα περιεχομένου

Ο συνδυασμένος τύπος μπορεί να περιέχει ιδιότητες, στοιχεία και κείμενο.

Σύνθετος τύπος με μίγμα περιεχομένου

Το στοιχείο XML, "letter", περιέχει κείμενο και άλλα στοιχεία:

<letter>
Αγαπητέ κύριε <name>John Smith</name>.
Η παραγγελία σας <orderid>1032</orderid>
Θα αποσταλεί στις <shipdate>2001-07-13</shipdate>.
</letter>

Η παρακάτω schema αναφέρει το στοιχείο "letter":

<xs:element name="letter">
  <xs:complexType mixed="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="orderid" type="xs:positiveInteger"/>
      <xs:element name="shipdate" type="xs:date"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Σημειώσεις:Για να μπορούν να εμφανιστούν δεδομένα χαρακτήρων μεταξύ των υποστοιχείων του "letter", η ιδιότητα "mixed" πρέπει να ρυθμιστεί σε "true". Το σήμα "<xs:sequence>" (name, orderid και shipdate) σημαίνει ότι τα στοιχεία που ορίζονται πρέπει να εμφανίζονται σε σειρά μέσα στο στοιχείο "letter":

Μπορούμε επίσης να δώσουμε ένα όνομα στο στοιχείο "complexType" και να επιτρέψουμε στο attribute "type" του στοιχείου "letter" να αναφέρεται σε αυτό το όνομα (μέθοδος που επιτρέπει σε πολλαπλά στοιχεία να αναφέρονται στην ίδια συνδυασμένη τύπο):

<xs:element name="letter" type="lettertype"/>
<xs:complexType name="lettertype" mixed="true">
  <xs:sequence>
    <xs:element name="name" type="xs:string"/>
    <xs:element name="orderid" type="xs:positiveInteger"/>
    <xs:element name="shipdate" type="xs:date"/>
  </xs:sequence>
</xs:complexType>