Un element complex gol nu poate avea un conținut, doar atribute.
Elemente goale complexe
Un element XML gol:
<product prodid="1345" />
"product" elementul de mai sus nu are conținut deloc. Pentru a defini un tip fără conținut, trebuie să definim un tip care permite elemente în conținutul său, dar noi nu declarăm de fapt, nici un element, cum ar fi acest lucru:
<xs:element name="product">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="xs:integer">
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
In exemplul de mai sus, definim un tip complex, cu un conținut complex. Cele complexContent semnale de elemente pe care le intenționează să restricționeze sau să extindă modelul de conținut al unui tip complex, și restrângerea întreg declară un atribut, dar nu introduce nici un element de conținut.
Cu toate acestea, este posibil să se declare "product" elementul mai compact, ca aceasta:
<xs:element name="product">
<xs:complexType>
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>
</xs:element>
Sau puteți da elementul complexType un nume, și lăsați "product" elementul au un atribut de tip care se referă la numele complexType (dacă utilizați această metodă, mai multe elemente se poate referi la același tip complex):
<xs:element name="product" type="prodtype"/>
<xs:complexType name="prodtype">
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>