Posted on 2008-09-26 14:33
天之驕子 閱讀(245)
評論(0) 編輯 收藏 引用
下面再做一個小小的Schema來說明:
這個例子來自:A semantic Web Primer.
先看下圖.是一個關于電子郵件的.
此主題相關圖片如下:

下面構建這個Schema,并在構建的同時說明Schema語法
我們在上面的圖中分析一下那圖,我們就可以通過XMLSPY去完成,首先email(complex tyep下有head,body而head(complex)下有from,to,subject.而在from,to(complex type)之下又有name,address.
那么從這里我們大致可以理解復雜類型的定義,里面包含其它元素及屬性.
復雜類型共有4種:
1.僅元素,包含其它的元素及屬性,但沒有文本.
2.空元素,可能包含屬性,但沒有元素及文本
3.混合.元素.屬性and/or文本
4.僅文本.
(不知對不對,自已的理解,因為我看的資料都是英文的,有錯的地方請指正.英語不怎么樣,另多說一句,這只是給和我一樣的初手看的..高手就..不說了吧.呵呵)
還是從那例子開始吧(要么今天又寫不完了...要回宿舍的)
從上面的分析,我們心里有了,要有幾個復雜類型,都是什么了...所以做起來應是很輕松的.
打開XMLSPY,很容易就搞定他
1.新建,不用說了吧.Schemas.寫根元素:email
2.接著建一系列的復雜元素(點圖上最左上角那個圖標),內容如下
此主題相關圖片如下:

3,email有emailType(head,body).點emailType進去建立.如下圖
此主題相關圖片如下:

4.返回再再點headType
此主題相關圖片如下:

5.nameAddress.
此主題相關圖片如下:

這次不點進去了,點下面的框就可以了.如圖mouse的位置
6.我們想在body下除了文本還要加一個符件,這樣他又是復雜類型
此主題相關圖片如下:

7.對于這個body里面的attachment我們想可能有編碼的問題,所以我們還要限定它;
還是一個復雜型.但這次我們要用一下簡單型了....
 此主題相關圖片如下:   此主題相關圖片如下:
照著圖上所表示的一樣,完成這一步. 下邊的那圖你要注意,應用枚舉..看圖中發亮的部分點一下,而后是右面的細節那里你點 SimpleType
到這里我們把小零件弄完了,那么現在裝一下 8.組合,再加一些屬性... 點最上面的eamil,進去以后,點右面的type,選emailType,如圖
此主題相關圖片如下:
 出來后再點emailType.做法同上,加進去
此主題相關圖片如下:

此主題相關圖片如下:
 再點headType..給from and to加上nameAddressType.
此主題相關圖片如下:
 再加這里的subject加上一個類型,xs:string. 這這里算是完成了我們這個schemas. 最后用F8,驗證一下! 這里的源代碼很簡單的...而后自己分析一下源代碼....你可以做一步 就軟到源碼里去分析一下的...這樣容易加深記憶..
|
另付上關于這個email的DTD:
<!ELEMENT email (head,body)>
<!ELEMENT head (from,to+,subject)>
<!ELEMENT from EMPTY>
<!ATTLIST from
name CDATA #IMPLIED
address CDATA #REQUIRED>
<!ELEMENT to EMPTY>
<!ATTLIST to
name CDATA #IMPLIED
address CDATA #REQUIRED>
<!ELEMENT subject (#PCDATA)>
<!ELEMENT body (text,attachment*)>
<!ELEMENT text (#PCDATA)>
<!ELEMENT attachment EMPTY>
<!ATTLIST attachment
encoding (mime|binhex) "mime"
file CDATA #REQUIRED>
(轉載自“中國XML論壇”,作者“starting”)