Puste elementy XSD
Pusty element złożony nie może mieć zawartości, a jedynie atrybuty.
Złożone puste elementy
Pusty element XML:
<product prodid="1345" />
Powyższy element „product” nie zawiera żadnej treści. Aby zdefiniować typ bez zawartości, musimy zdefiniować typ, który zezwala na elementy w swojej zawartości, ale tak naprawdę nie deklarujemy żadnych elementów, na przykład:
<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>
W powyższym przykładzie definiujemy typ złożony o złożonej treści. Element complexContent sygnalizuje, że zamierzamy ograniczyć lub rozszerzyć model zawartości typu złożonego, a ograniczenie liczby całkowitej deklaruje jeden atrybut, ale nie wprowadza żadnej zawartości elementu.
Możliwe jest jednak bardziej zwięzłe zadeklarowanie elementu „product”, w następujący sposób:
<xs:element name="product">
<xs:complexType>
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>
</xs:element>
Możesz też nadać elementowi complexType nazwę, a element „product” ma atrybut type, który odwołuje się do nazwy complexType (jeśli użyjesz tej metody, kilka elementów może odnosić się do tego samego typu złożonego):
<xs:element name="product" type="prodtype"/>
<xs:complexType name="prodtype">
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>