نوع ترکیبی با محتوای مخلوط XSD

نوع ترکیبی مخلوط می‌تواند شامل attribute، عناصر و متن باشد.

نوع ترکیبی با محتوای مخلوط

عنصر 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" ظاهر شوند، attribute mixed باید به "true" تنظیم شود.<xs:sequence> برچسب (name، orderid و shipdate) به معنای آن است که عناصر تعریف شده باید به ترتیب در داخل عنصر "letter" ظاهر شوند.

ما نیز می‌توانیم به عنصر complexType یک نام بدهیم و نوع attribute عنصر "letter" را به این نام complexType ارجاع دهیم (با این روش، چندین عنصر می‌توانند به یک نوع ترکیبی مشترک ارجاع دهند):

<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>