XSD -elementen met alleen tekst
Een complex tekstelement kan tekst en attributen bevatten.
Complexe tekstelementen
Dit type bevat alleen eenvoudige inhoud (tekst en attributen), daarom voegen we een element simpleContent toe rond de inhoud. Wanneer u eenvoudige inhoud gebruikt, moet u een extensie OF een beperking definiëren binnen het element simpleContent, zoals dit:
<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: Gebruik het uitbreidings-/beperkingselement om het eenvoudige basistype voor het element uit te breiden of te beperken.
Hier is een voorbeeld van een XML-element, "shoessize", dat alleen tekst bevat:
<shoesize country="france">35</shoesize>
In het volgende voorbeeld wordt een complexType gedeclareerd, "shoessize". De inhoud wordt gedefinieerd als een geheel getal en het element "shoessize" bevat ook een attribuut met de naam "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>
We kunnen het element complexType ook een naam geven en het element "shoessize" een type-attribuut laten hebben dat verwijst naar de naam van het complexType (als je deze methode gebruikt, kunnen verschillende elementen verwijzen naar hetzelfde complexe type):
<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>