نوع ترکیبی XSD - تنها شامل متن

عناصر ترکیبی که تنها شامل متن هستند می‌توانند شامل متن و attribute باشند.

عناصر ترکیبی که تنها شامل متن هستند

این نوع تنها شامل محتوای ساده (متن و attribute) است، بنابراین باید به این محتوا یک element simpleContent اضافه کنیم. زمانی که از محتوای ساده استفاده می‌کنیم، باید در داخل element simpleContent تعریف‌های extension یا restriction را تعیین کنیم، مانند این:

<xs:element name="نام خاص">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="basetype">
        ....
        ....
      </xs:extension>     
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

یا:

<xs:element name="نام خاص">
  <xs:complexType>
    <xs:simpleContent>
      <xs:restriction base="basetype">
        ....
        ....
      </xs:restriction>     
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

توجه:برای گسترش یا محدود کردن نوع ساده یک عنصر، از عناصر extension یا restriction استفاده کنید.

در اینجا یک مثال از یک عنصر XML وجود دارد، "shoesize"، که تنها شامل متن است:

<shoesize country="france">35</shoesize>

در این مثال، یک نوع ترکیبی معرفی شده است که محتوای آن به عنوان مقدار کامل تعریف شده است و عنصر "shoesize" دارای attribute به نام "country" است:

<xs:element name="shoesize">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:integer">
        <xs:attribute name="country" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

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

<xs:element name="shoesize" type="shoetype"/>
<xs:complexType name="shoetype">
  <xs:simpleContent>
    <xs:extension base="xs:integer">
      <xs:attribute name="country" type="xs:string" />
    </xs:extension>
  </xs:simpleContent>
</xs:complexType>