XML學(xué)習(xí)筆記---實(shí)戰(zhàn)XSLT
Posted on 2007-09-14 15:50 久城 閱讀(406) 評(píng)論(1) 編輯 收藏 所屬分類(lèi): XMLXSL與XSLT
XSL consists of three parts:
XSLT - a language for transforming XML documents
XPath - a language for navigating in XML documents
XSL-FO - a language for formatting XML documents
XSLT stands for XSL Transformations
XSLT is the most important part of XSL
XSLT transforms an XML document into another XML document
XSLT uses XPath to navigate in XML documents
XSLT is a W3C Recommendation
XSLT is a language for transforming XML documents into XHTML documents or to other XML documents.
XPath is a language for navigating in XML documents.
以上是在W3C上的一些摘錄,我的英文太差了,不敢翻譯,但還是可以簡(jiǎn)單的意會(huì)的。
總之,XSL和XSLT在狹義上是一致的。
XSLT是XSL中最重要的一部分,
XSLT是一種用來(lái)轉(zhuǎn)換XML文檔結(jié)構(gòu)的語(yǔ)言。
將XML轉(zhuǎn)換為HTML,是目前XSLT最主要的功能。
CSS與XSLT
CSS同樣可以格式化XML文檔,但是它有嚴(yán)重的局限性,就是:
1. CSS不能重新排序文檔中的元素;
2. CSS不能判斷和控制哪個(gè)元素被顯示,哪個(gè)不被顯示;
3. CSS不能統(tǒng)計(jì)計(jì)算元素中的數(shù)據(jù);
所以,CSS適合用于靜態(tài)文檔。而XSLT雖然功能強(qiáng)大,但因?yàn)橐匦滤饕齒ML結(jié)構(gòu)樹(shù),所以消耗內(nèi)存比較多。因此,我們常常將它們結(jié)合起來(lái)使用,比如在服務(wù)器端用XSLT處理文檔,在客戶端用CSS來(lái)控制顯示??梢詼p少響應(yīng)時(shí)間。
實(shí)踐
XSLT的主要用途就是數(shù)據(jù)轉(zhuǎn)換應(yīng)用。
具體實(shí)踐一下XSLT是如何對(duì)XML進(jìn)行樣式轉(zhuǎn)化的。
blog.xml














blog.xsl
































用IE打開(kāi)blog.xml,顯示如下:
BLOGS LIST
BLOG NAME:久城的學(xué)習(xí)室
AUTHOR:久城
BLOG URL:http://www.aygfsteel.com/realsmy
BLOG NAME:BeanSoft's Java Blog
AUTHOR:BeanSoft
BLOG URL:http://www.aygfsteel.com/beansoft
關(guān)于XSLT的語(yǔ)法
參考:http://www.w3schools.com/xsl/default.asp
很好的教程。
后記
XML通過(guò)XSLT的轉(zhuǎn)換,完全能夠?qū)崿F(xiàn)HTML的顯示效果,同時(shí)又做到了數(shù)據(jù)與顯示的分離。這讓我想到了應(yīng)用方面。
我能想到的,一方面是一些共同的數(shù)據(jù)可以直接通過(guò)在客戶端訪問(wèn)XML文件,XML文件再通過(guò)不同的XSLT轉(zhuǎn)換成不同的顯示效果顯示在頁(yè)面上,無(wú)意中發(fā)現(xiàn)CSDN社區(qū)的每一個(gè)帖子就是一個(gè)XML文件,可以繼續(xù)參考學(xué)習(xí)一下。
另一方面,由HTML頁(yè)面通過(guò)腳本(Script)語(yǔ)言訪問(wèn)xml文件和xsl文件,在用腳本語(yǔ)言進(jìn)行轉(zhuǎn)換處理,輸出在HTML頁(yè)面上。如果腳本應(yīng)用JavaScript腳本,那不就是JavaScript和XML的技術(shù)應(yīng)用嗎?難道就是傳說(shuō)中的AJAX?!從來(lái)沒(méi)有應(yīng)用過(guò)AJAX,只聽(tīng)說(shuō)過(guò)用AJAX實(shí)現(xiàn)異步數(shù)據(jù)傳遞。
哈哈,突然有了沖動(dòng),下一個(gè)目標(biāo),學(xué)習(xí)一下AJAX。
歡迎來(lái)訪!^.^!
本BLOG僅用于個(gè)人學(xué)習(xí)交流!
目的在于記錄個(gè)人成長(zhǎng).
所有文字均屬于個(gè)人理解.
如有錯(cuò)誤,望多多指教!不勝感激!