XML Schema教程 學習筆記

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>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章