XML是什麼呢有參加寒訓的學妹應該對這個名詞有點印象吧,沒有_第1頁
XML是什麼呢有參加寒訓的學妹應該對這個名詞有點印象吧,沒有_第2頁
XML是什麼呢有參加寒訓的學妹應該對這個名詞有點印象吧,沒有_第3頁
XML是什麼呢有參加寒訓的學妹應該對這個名詞有點印象吧,沒有_第4頁
XML是什麼呢有參加寒訓的學妹應該對這個名詞有點印象吧,沒有_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、XML是什麼呢?有參加寒訓的學妹應該對這個名詞有點印象吧,沒有參加寒訓的學妹也不要難過,且聽我慢慢道來。注意:本文是在XML編輯器XML SPY 3.5下作業(yè),光碟中附有其之試用版,若是您沒有此程式則可以使用記事本或是UltraEdit下作業(yè)均可,若不能看到XSLT轉(zhuǎn)換XML之成果時,請先將您的IE5.0升級(執(zhí)行光碟中XML升級資料夾中的程式,並依照ReadMe檔中的指示來操作。)或是您也可以自行到微軟XML的首頁上自行下載MSXML3.0、XMLINST、VIEWER程式或其之更新版本來升級您的IE5.0。(本文付印時MSXML4.0測試版已上網(wǎng))l XML簡介XML其實和HTML是同屬於

2、SGML(Standard Generalized Markup Language)家族的兄弟,有人說XML很像HTML,也有人說XML是HTML的精簡版,其實這兩種說法都對。在介紹XML之前,我們先簡單說明一下什麼是標記語言,所謂標記語言就是以一些標籤(Tag)將文件標示起來,以告訴電腦該做些什麼。而一個標示語言就是一組事先定義好語法的標籤,降說可能你還是不大清楚什麼是標示語言,舉個例子吧,一般人最常聽到的HTML就是一種標記語言,想想HTML的格式,不是都有一些標籤把資料包起來嗎?有點概念了吧,不過可不要誤會標示語言只用在網(wǎng)路上,一般文件如Word上的RTF格式也都是標示語言的一種,不知道

3、你有沒有懷疑過,我在Word上改一些小小的設(shè)定如:改字型或是大小,它是怎麼做的呢?用的就是這些Tag啦,怎麼!?不信!?你可以在WordPad或是Word上產(chǎn)生一個新的文件檔裡面做一些設(shè)定如:字型等等,存檔時將存檔格式改成RTF格式,再從記事本來開,你會發(fā)現(xiàn),多了很多你從來就沒有打上去的東西。所以阿,這些標示語言的用途可真不小呢!XML也是標示語言的一種,但是XML的出現(xiàn)總是有原因的吧,到底是為什麼呢?這是因為資訊工作者希望以一種簡單的方式來描述資訊,所以XML的規(guī)格書只有短短的35頁,比起SGML的150頁,簡單比較一下就可以知道,XML是一個十分容易學習及運用的語言。XML1.0版規(guī)格其實

4、在1998年2月就已經(jīng)制訂出來,不過相關(guān)技術(shù)在現(xiàn)在還沒有完全定案,不過也已經(jīng)有草案出來,將來會改變的空間並不大,所以不必無謂的擔心。XML的寫法和HTML其實十分相似,不過XML和HTML不同的地方在於他只負責描述資料,並不負責表現(xiàn)資料,表現(xiàn)資料則是由另外的XSL來負責,XSL我們將在後面再介紹?,F(xiàn)在我們以下圖來表示HTML和XML的不同。HTML文件 資料及表述XSL(表述)l 第一個XML文件XML(資料)說了這麼多,有沒有開始頭昏腦脹呢?別緊張,我們現(xiàn)在就開始寫一個簡簡單單的XML文件。<?xml version="1.0" encoding="BIG

5、5"?><person><name>Devone Huang</name><nick> <字>北一之狼</字><號>空空道人</號></nick><school>北一女中</school><生日>1984/9/25</生日><最討厭的人>豬頭主編</最討厭的人><最喜歡的人>我自己</最喜歡的人><email>devone.tw</email><最

6、喜歡做的事>欺壓學術(shù)組的學術(shù)們</最喜歡做的事><最討厭做的事>寫稿</最討厭做的事><最愛之物 content="腳踏車及PDA"/></person>發(fā)現(xiàn)了沒,XML的標籤怪怪的,沒錯,除了<?xml version="1.0" encoding="BIG5"?>這一行以外是固定的之外,其它的標籤都可以自己定,不過雖然自由,標籤的格式還是要遵守,下面是XML的兩種標籤的格式:1. 對稱形式的標籤:<name>黃得源</name2. 空的

7、控制標籤:<最愛之物/> 或是 <最愛之物 content="腳踏車及PDA"/>再來,我們剛剛說的那特別的一行:<?xml version="1.0" encoding="BIG5"?>注意到了嗎?XML的界定符號是<?>其實一般若XML中並沒有出現(xiàn)中文的話只要寫<?xml version=”1.0”>即可,version及encoding稱做屬性,version=”1.0”代表的是使用XML1.0版的規(guī)格,encoding是表示需要用到那一種字元編碼,其實還有一個屬性:s

8、tandalone,standalone=”no”表示這份XML文件並沒有使用到其他的外部文件(例如:前面提到的xsl文件),相反的若standalone=”yes”表示這份文件有使用到其他的外部文件。另外XML標籤的格式及命名的規(guī)則和HTML的標籤是大致相同的,但是相較之下XML的較為嚴格些,需要注意的地方在於XML嚴格的要求所有的標籤都要成對不然就要自成一個空的標籤(EX:<name/>),絕對不可以有單獨的標籤出現(xiàn)。在看上面那一個XML檔的時候有沒有看到一個標籤長得特別奇怪<最愛之物 content="腳踏車及PDA"/>恩根據(jù)剛剛的講述,你應

9、該知道這是一個空標籤,但是content=”腳踏車及PDA”這個又是什麼東西阿,其實之前有提過喔,猜到了吧,就是屬性啦,在一個標籤中(不一定是要在空標籤中)可以加屬性以方便作業(yè)。說了這麼久不知道您有沒有發(fā)現(xiàn)其實整個XML就是一個樹狀結(jié)構(gòu):personnick最愛之物字號.在瀏覽器上看起來則是這樣的:(注意到了嗎?他是以樹狀結(jié)構(gòu)來呈現(xiàn)喔?。﹍ 第一個XSL(eXtensible Style Semantics and Specification Language)什麼是XSL呢!?簡單的說,XSL之於XML,可以把他想成CSS之於HTML,但是他和CSS不同的是,他是一個功能強大的轉(zhuǎn)換和標示語言

10、,學過CSS的人就知道,CSS不能讓你隱藏內(nèi)容或是改變資料展示的順序,但是這些XSL都可以做的到。另外,XSL本身就是符合XML規(guī)定的一個XML文件,不過現(xiàn)在IE5.0對於XSL的支援並不是很完善。XSL之下又分成很多種:XSLT:Transformation可以轉(zhuǎn)換 XML 文件的語言/1999/XSL/TransformXSLF:Formatting, Rendition;排版語言(2000/1已被XHTML取代)XPATH:Access the XML underlying structur存取部份結(jié)構(gòu)/TR/xpath說了

11、這麼多,該要怎麼將XSL插入XML之中呢?其實很簡單,只要將XML的命令列改變兩個地方即可。因為我們現(xiàn)在要將XML轉(zhuǎn)換成在網(wǎng)頁上瀏覽的HTML(請注意,他絕不只是HTML而已)所以要使用XSLT。<?xml version="1.0" encoding="BIG5" standalone="no"?>加入standalone=”no”<?xml-stylesheet href="indo.xslt" type="text/xsl"?>插入此行以引入XSLT。若您是用XML

12、 SPY3.5,在開啟一個新的XSLT時,系統(tǒng)會自動為您加上:<?xml version="1.0" encoding="BIG5"?><xsl:stylesheet version="1.0" xmlns:xsl=/1999/XSL/Transform xmlns:fo="/1999/XSL/Format"></xsl:stylesheet>第一行前面已經(jīng)說過,任何一個XSL文件都是一份XML文件,所以自然要使用X

13、ML1.0的規(guī)格書,第二行是表示使用XSL1.0的規(guī)格書,後面的xmlns:xsl=/1999/XSL/Transform 及 xmlns:fo="/1999/XSL/Format">則是名稱空間的宣告。註:名稱空間是用來避免不同元素被命名為相同的名稱,如此可以限制在XML文件中使用的控制標籤其名稱是唯一的。透過名稱空間可以讓使用者知道XSL到底是引用自哪一個版本,透過不同的名稱空間,同樣的XSL元素會有不同的定義,也會有不同的結(jié)果。而使用名稱空間的元素,前面都必須加上定義時的前導字元,例如:在這個例子中

14、XSL的元素就必須使用xsl:這個前導字元。再繼續(xù)之前,我先列出一些比較常用的XSL元素,XSL元素都是一些已經(jīng)透過空間定義好的元素,畢竟,他不再是像XML一樣只是要單純的表示資料。xsl: stylesheet:根元素xsl: template:定義一個樣版xsl: value-of:從XML文件中取出值並結(jié)合至樣版上xsl: comment:備註(也就是說該元素的資料不顯示)xsl: for-each:將樣版應用到XML文件中相同tagxsl: apply-templates:由XSL處理器找適當?shù)臉影鎭硖子脁sl: if:設(shè) if 條件設(shè)定xsl: choose:多選一的條件設(shè)定xsl:

15、 when:多選一的條件設(shè)定xsl: otherwise:多選一的條件設(shè)定xsl: attribute:在元素中加入一個屬性xsl: element:在文件中新增一個元素讀到這裡,仔細的讀者應該可以發(fā)現(xiàn)XSL真的是一個十分強大的工具,在處理資料方面,可以讓人運用自如,提醒您一個重要的觀念,XML文件並不只是用在WEB上而已,許許多多處理資料及文件處理上都可以看到它的蹤跡喔!有了一些基本的觀念以後,我們現(xiàn)在就開始來根據(jù)上文中的XML文件來撰寫配合它的XSL,當然,這份文件還用不到排序,選擇結(jié)構(gòu)等等進階的功能,若是讀者有興趣,可以自行再找書來參考。我們之前說過,要將XML轉(zhuǎn)成HTML文件,所以在X

16、SL中自然要加入一些HTML制式的標籤。(我假設(shè)大家都學過HTML,這裡就不再就HTML標籤的部分多做贅言。)如下:(前面已經(jīng)說過xsl:stylesheet是根元素,所以這些東西自然應該寫在xsl:stylesheet裡面摟)<html><head><title>追緝北一之狼</title></head><body></body></html>接下來,我們要開始取出XML元素中的值,我們之前說過,XML是一個樹狀結(jié)構(gòu),所以要取出節(jié)點,都是以路徑的方是一層一層下去抓,但是要抓之前,總要有一個基準吧,

17、不然到底該怎麼取路徑呢?所以要以<xsl:template match="/">來抓取根元素做為基準,因為在HTML標籤中的所有資料都是以此作為基準,所以,所有的HTML標籤都要包在這個元素之下,現(xiàn)在整份文件如下:<?xml version="1.0" encoding="BIG5"?><xsl:stylesheet version="1.0" xmlns:xsl="/1999/XSL/Transform" xmlns:fo=&quo

18、t;/1999/XSL/Format"><xsl:template match="/"><html><head><title>追緝北一之狼</title></head><body></body></html></xsl:template></xsl:stylesheet>其餘的當然就端看您要怎麼去排版面再做規(guī)劃啦。當然,若是您有興趣想要知道元素詳細的運用情形,就請您在取挑選一本您喜愛的書來專研一番

19、,畢竟在此只能稍做介紹。下面的例子,示範一組XML配合XSL的運作情形:l XML<?xml version="1.0" encoding="BIG5" standalone="no"?><?xml-stylesheet href="indo.xsl" type="text/xsl"?><person><title content="name">Devone HUANG</title><title conten

20、t="nick"><字>北一之狼</字><號>空空道人</號></title><title content="school">北一女中</title><title content="生日">1984/9/25</title><title content="最討厭的人">主編</title><title content="最喜歡的人">我自己<

21、/title><title content="email">devone.tw</title><title content="最喜歡做的事">欺壓學術(shù)組的學術(shù)們</title><title content="最討厭做的事">寫稿</title><title content="最愛之物">腳踏車及PDA,恩當然還有筆記型電腦摟</title></person>l XSL<?xml version=&

22、quot;1.0" encoding="BIG5"?><xsl:stylesheet version="1.0" xmlns:xsl="/1999/XSL/Transform" xmlns:fo="/1999/XSL/Format"><xsl:variable name="titles" select="person/title"/><xsl:template match="/"><html><head><title>追緝北一之狼</title></head><body> <table border="1">&l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論