看板 ott
作者 標題 XML Schema 簡介
時間 2010年02月11日 Thu. PM 12:25:44
XML Schema 簡介
XML Scheam 也是用來驗證XML文件的驗證語法.
XML Schema與DTD
DTD的缺點:
1.DTD使用一個屬於自己的語法.
2.DTD對於資源型態的支援過少.
3.DTD所支援的結構定義彈性過低.
XML Schema的優點:
1.任何一個XML Schema文件本身就是一個Well-Formed XML文件
2.XML Schema對於資料型態的支援較多,包含有字串,布林值,整數,浮點數,
時間日期等資料型態
3.利用兩個屬性 minOccur 與 maxOccur 來達到控制子元素出現次數的目的,
比起DTD更有彈性.
4.XML Schema使用名稱空間,因此具有可擴充性.
5.XML Schema採用開放空間的架構,不要求所有的元素與屬性必須先宣告使用.
6.XML Schema可以針對個別元素指定不同的XML Schema作為驗證語法.
7.XML Schema是一個Well-Formed XML文件,因此可以透過DOM介面存取細部
元素與屬性.
Schema
<?xml version=“1.0” encoding=“Big5” ?>
<Schema xmlns=“urn:schemas-microsoft-com:xml-data”
xmlns:dt=“urn:schemas-microsoft-com:datatypes”>
<!—使用了內定的名稱空間宣告,以便解決標籤名稱相同的問題--!>
<ElementType name="booklist" content="eltOnly">
<group minOccurs="0" maxOccurs="*">
<element type="book"/>
</group>
</ElementType>
<ElementType name="book" content="eltOnly">
<group order="seq">
<element type="書名"/>
<group minOccurs="1" maxOccurs="*">
<element type="作者"/>
</group>
</group>
</ElementType>
<ElementType name="書名" content="textOnly">
<AttributeType name="書號" required="yes"/>
<attribute type="書號"/>
</ElementType>
<ElementType name="作者" content="textOnly"/>
</Schema>
XML
<?xml version=“1.0” encoding=“Big5” standalone=“no” ?>
<booklist xmlns=“x-schema:ex7-01-s.xml”>
<!—使用了內定是的名稱空間宣告,並導入驗證依據ex7-01-s.xml--!>
<book>
<書名 書號="O01001">一起玩OfficeXP</書名>
<作者>志凌資訊</作者>
</book>
<book>
<書名 書號="D01001">21世紀電腦概論</書名>
<作者>江高舉</作者>
<作者>劉緻儀</作者>
</book>
</booklist>
XML元素宣告<ElementType>
相關限制:
1.發生次數不限制
2.父元素:<Schema>
3.允許子元素:<attribute> <AttributeType> <datatype> <description>
<element> <group>
DTD
<!ELEMENT 備註 EMPTY>
<!ELEMENT 作者(#PCDATA)>
<!ELEMENT book (書名,備註)>
<!ELEMENT book (#PCDATA|書名,定價)*>
XML Schema
<ElementType name=“備註” content=“empty”/>
<ElementType name=“作者” content=“textOnly”/>
<ElementType name=“book” content=“eltOnly”/>
<element type=“書名”/>
<element type=“備註”/>
</ElementType>
<ElementType name=“book” content=“mixed”/>
<element type=“書名”/>
<element type=“定價”/>
</ElementType>
XML元素宣告<ElementType>
<ElementType name=“元素名稱”
content=“empty”|”textOnly”|”eltOnly”|”mixed”
model=“open”|”closed”
order=“one”|”seq”|”many”
dt:type=“元素內容的資料型態”>
</ElementType>
order:many:允許子元素按照任意排列順序出現,對應
DTD中(A|B|C)*
XML子元素宣告<element>
發生次數:需視<ElementType>宣告次數而定
允許父元素:<ElementType> <group>
允許子元素:無
<element type=“元素名稱”
minOccurs=“0”|”1”
maxOccurs=“1”|”*”
/>
http://of.openfoundry.org/download_path/ntust/0007/XML Schema.ppt
Altova XMLSpy - XML Schema Editor
![](https://img.youtube.com/vi/_OZ48aqw_Ro/0.jpg)
--
※ 來源: DISP BBS (http://disp.twbbs.org)
※ 作者: ott 來自: 118.166.10.168 時間: 2010-02-11 12:25:44
※ 編輯: ott 來自: 118.166.2.53 時間: 2010-02-12 04:44:05
※ 看板: ott 文章推薦值: 0 目前人氣: 0 累積人氣: 188
回列表(←)
分享