XML的需求:
<學校>
<級部>
<名稱></名稱>
<班級>
<名稱></名稱>
<課程></課程>
<人數></人數>
</班級>
</級部>
</學校>
其中<級部>要求一個或多個,<級部>可包含一個或多個<班級>
<名稱>要求文本類型
<人數>要求數字類型
<課程>要求枚舉類型,其中包括“語文”、“數學”、“英語”
SCHEMA ( xml.xsd ) :
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="學校">
<xs:complexType>
<xs:sequence>
<xs:element name="級部" type="jb" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="jb">
<xs:sequence>
<xs:element name="名稱" type="xs:string"/>
<xs:element name="班級" type="bj" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="bj">
<xs:all>
<xs:element name="名稱" type="xs:string"/>
<xs:element name="課程" type="kc"/>
<xs:element name="人數" type="xs:int"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="kc">
<xs:restriction base="xs:string">
<xs:pattern value="語文|數學|英語"/>
<!-- 這個部分也可以用枚舉的形式,如下:
<xs:enumeration value="語文"/>
<xs:enumeration value="數學"/>
<xs:enumeration value="英語"/>
-->
</xs:restriction>
</xs:simpleType>
</xs:schema>
XML例子:
<?xml version="1.0" encoding="UTF-8"?>
<學校 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xml.xsd">
<級部>
<名稱>1j</名稱>
<班級>
<名稱>1b</名稱>
<課程>語文</課程>
<人數>22</人數>
</班級>
<班級>
<名稱>2b</名稱>
<課程>數學</課程>
<人數>22</人數>
</班級>
<班級>
<名稱>3b</名稱>
<課程>英語</課程>
<人數>22</人數>
</班級>
</級部>
</學校>