Пустой сложный элемент не может иметь содержимое, только атрибуты.
Сложные Пустые элементы
Пустой XML-элемент:
<product prodid="1345" />
"product" элемент выше не имеет никакого содержания вообще. Для того, чтобы определить тип без содержимого, мы должны определить тип, который позволяет элементы по своему содержанию, но мы на самом деле не объявить какие-либо элементы, как это:
<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>
В приведенном выше примере, мы определяем комплексный тип со сложным содержимым. Сигналы элементов complexContent, которые мы намерены ограничить или расширить модель содержимого сложного типа, и ограничение целого объявляет один атрибут, но не вносит каких-либо содержимое элемента.
Тем не менее, можно объявить "product" элемент более компактно, как это:
<xs:element name="product">
<xs:complexType>
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>
</xs:element>
Или вы можете дать элемента ComplexType имя, и пусть "product" элемент имеет атрибут типа , который ссылается на имя ComplexType (если вы используете этот метод, несколько элементов , может относиться к тому же сложного типа):
<xs:element name="product" type="prodtype"/>
<xs:complexType name="prodtype">
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>