Các phần tử trống XSD
Một phần tử phức tạp trống không thể có nội dung, chỉ có thuộc tính.
Các phần tử trống phức tạp
Một phần tử XML trống:
<product prodid="1345" />
Phần tử "sản phẩm" ở trên hoàn toàn không có nội dung. Để xác định một kiểu không có nội dung, chúng ta phải xác định một kiểu cho phép các phần tử trong nội dung của nó, nhưng chúng ta không thực sự khai báo bất kỳ phần tử nào, như sau:
<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>
Trong ví dụ trên, chúng tôi xác định một loại phức tạp có nội dung phức tạp. Phần tử complexContent báo hiệu rằng chúng ta có ý định hạn chế hoặc mở rộng mô hình nội dung của một kiểu phức hợp và hạn chế số nguyên khai báo một thuộc tính nhưng không đưa ra bất kỳ nội dung phần tử nào.
Tuy nhiên, có thể khai báo phần tử “product” gọn hơn như sau:
<xs:element name="product">
<xs:complexType>
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>
</xs:element>
Hoặc bạn có thể đặt tên cho phần tử complexType và để phần tử "product" có thuộc tính type tham chiếu đến tên của complexType (nếu bạn sử dụng phương thức này, một số phần tử có thể tham chiếu đến cùng một loại phức tạp):
<xs:element name="product" type="prodtype"/>
<xs:complexType name="prodtype">
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>