Typ złożony XSD - zawiera tylko tekst

Złożony element zawierający tylko tekst może zawierać tekst i atrybuty.

Złożony element zawierający tylko tekst

Ten typ zawiera tylko prostą zawartość (tekst i atrybuty), więc musimy dodać element simpleContent do tej zawartości. Podczas użycia prostej zawartości musimy zdefiniować rozszerzenie lub ograniczenie wewnątrz elementu simpleContent, tak jak to:

<xs:element name="nazwa_konkretna">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="basetype">
        ....
        ....
      </xs:extension>     
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

lub:

<xs:element name="nazwa_konkretna">
  <xs:complexType>
    <xs:simpleContent>
      <xs:restriction base="basetype">
        ....
        ....
      </xs:restriction>     
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

Wskazówka:Użyj elementów extension lub restriction, aby rozszerzyć lub ograniczyć podstawowy typ prosty elementu.

Oto przykład elementu XML, "shoesize", który zawiera tylko tekst:

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

Poniższy przykład deklaruje typ złożony, którego zawartość jest określona jako wartość całkowita, a element "shoesize" zawiera atrybut o nazwie "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>

Możemy również ustawić nazwę dla elementu complexType i umożliwić elementowi "shoesize" użycie tej nazwy jako wartości atrybutu type (tym sposobem, wiele elementów może odnosić się do tego samego typu złożonego):

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