下面再做一個(gè)小小的Schema來(lái)說(shuō)明:
這個(gè)例子來(lái)自:A semantic Web Primer.
先看下圖.是一個(gè)關(guān)于電子郵件的.
此主題相關(guān)圖片如下:

下面構(gòu)建這個(gè)Schema,并在構(gòu)建的同時(shí)說(shuō)明Schema語(yǔ)法
我們?cè)谏厦娴膱D中分析一下那圖,我們就可以通過(guò)XMLSPY去完成,首先email(complex tyep下有head,body而head(complex)下有from,to,subject.而在from,to(complex type)之下又有name,address.
那么從這里我們大致可以理解復(fù)雜類型的定義,里面包含其它元素及屬性.
復(fù)雜類型共有4種:
1.僅元素,包含其它的元素及屬性,但沒(méi)有文本.
2.空元素,可能包含屬性,但沒(méi)有元素及文本
3.混合.元素.屬性and/or文本
4.僅文本.
(不知對(duì)不對(duì),自已的理解,因?yàn)槲铱吹馁Y料都是英文的,有錯(cuò)的地方請(qǐng)指正.英語(yǔ)不怎么樣,另多說(shuō)一句,這只是給和我一樣的初手看的..高手就..不說(shuō)了吧.呵呵)
還是從那例子開(kāi)始吧(要么今天又寫不完了...要回宿舍的)
從上面的分析,我們心里有了,要有幾個(gè)復(fù)雜類型,都是什么了...所以做起來(lái)應(yīng)是很輕松的.
打開(kāi)XMLSPY,很容易就搞定他
1.新建,不用說(shuō)了吧.Schemas.寫根元素:email
2.接著建一系列的復(fù)雜元素(點(diǎn)圖上最左上角那個(gè)圖標(biāo)),內(nèi)容如下
此主題相關(guān)圖片如下:

3,email有emailType(head,body).點(diǎn)emailType進(jìn)去建立.如下圖
此主題相關(guān)圖片如下:

4.返回再再點(diǎn)headType
此主題相關(guān)圖片如下:

5.nameAddress.
此主題相關(guān)圖片如下:

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

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

此主題相關(guān)圖片如下:
 再點(diǎn)headType..給from and to加上nameAddressType.
此主題相關(guān)圖片如下:
 再加這里的subject加上一個(gè)類型,xs:string. 這這里算是完成了我們這個(gè)schemas. 最后用F8,驗(yàn)證一下! 這里的源代碼很簡(jiǎn)單的...而后自己分析一下源代碼....你可以做一步 就軟到源碼里去分析一下的...這樣容易加深記憶..
|
另付上關(guān)于這個(gè)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>
(轉(zhuǎn)載自“中國(guó)XML論壇”,作者“starting”)