看板 ott
作者 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

       


--
※ 來源: 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 
分享網址: 複製 已複製
guest
x)推文 e)編輯 d)刪除 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇