1.聲明:
<?xml version="1.0" encoding="UTF-8" ?>
2.擴展名:
xsd
3.根元素
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
4.元素定義
<xsd:element name="名稱" type="類型" maxOccurs="最多出現次數" minOccurs="最少出現次數"/>
<xsd:element ref="引用名稱"/> 引用
5.元素修飾:
<xsd:complexType/> 複雜類型
<xsd:sequence/>元素按順序出現
<xsd:choice> 二選一
6.元素類型
a.簡單類型
b.自定義簡單類型
<xsd:simpleType name="idType">
<xsd:restriction base="xsd:string"> <!-- 說明改簡單元素是基於 xsd:string類型的-->
<xsd:pattern value="/d{1}-/d{4}-/d{4}-/d{1}"/> <!-- 正則表達式 -->
<xsd:enumeration value="a"/> <!-- 列舉,只能選這其中的值 表示改簡單元素只能選擇a或b -->
<xsd:enumeration value="b"/> <!-- 列舉,只能選這其中的值 -->
<!-- 最大值 和最小值 應該適用於數字類型GW?-->
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="10"/>
</xsd:restriction>
</xsd:simpleType>
7.屬性定義
<xsd:attribute name="id" type="xsd:string" use="是否必須required|optional|prohibited(無值)" default="默認值"/>
<xsd:attributegroup/>屬性組
8.完整示例
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="order"> <!-- 元素定義 -->
<xsd:complexType> <!-- 複雜類型 -->
<xsd:sequence> <!-- 元素按順序出現-->
<xsd:element ref="orderItem" maxOccurs="10"/> <!-- 引用 最大出現次數-->
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="orderItem">
<xsd:complexType>
<xsd:sequence></xsd:sequence>
<xsd:attributeGroup ref="orderItemAttributes"/> <!-- 屬性組 -->
</xsd:complexType>
</xsd:element>
<xsd:attributeGroup name="orderItemAttributes">
<xsd:attribute name="id" type="idType" use="required"/> <!-- 屬性 必須 -->
<xsd:attribute name="quantity" type="xsd:integer" default="1"/> <!-- 屬性 默認值-->
<xsd:attribute name="pageNum" type="pageNum" use="required"/>
</xsd:attributeGroup>
<xsd:simpleType name="idType"> <!-- 自定義簡單類型 -->
<xsd:restriction base="xsd:string"> <!-- 基於什麼類型 -->
<xsd:pattern value="/d{1}-/d{4}-/d{4}-/d{1}"/> <!-- 正則表達式 -->
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:enumeration value="10"/> <!-- 列表 -->
<xsd:enumeration value="20"/>
<xsd:enumeration value="30"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>