Złożony elementem tylko tekst może zawierać tekst i atrybuty.
Złożonych elementów tylko tekst
Ten rodzaj zawiera jedynie proste zawartość (text and attributes) , więc dodamy element simpleContent wokół treści. Przy użyciu prostych treści, należy zdefiniować rozszerzenie lub ograniczenie w elemencie simpleContent coś takiego:
<xs:element name="somename">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="basetype">
....
....
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
OR
<xs:element name="somename">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="basetype">
....
....
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Tip: Użyj element przedłużający / ograniczenie rozszerzyć lub ograniczyć bazowy typ prosty dla elementu.
Oto przykład elementu XML "shoesize" , który zawiera tylko tekst:
<shoesize country="france">35</shoesize>
Poniższy przykład deklaruje complexType, "shoesize" . Zawartość jest definiowana jako wartość całkowitą, a "shoesize" element zawiera również 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>
Mogliśmy również nadanie elementowi complexType nazwę i niech "shoesize" elementu mieć atrybut typu, który odnosi się do nazwy complexType (jeśli używasz tej metody, kilka 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>