佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > XSL簡明教程(3)在客戶端的實現(xiàn)

XSL簡明教程(3)在客戶端的實現(xiàn)

熱門標(biāo)簽:呼叫中心市場需求 服務(wù)器配置 智能手機(jī) 鐵路電話系統(tǒng) 網(wǎng)站文章發(fā)布 美圖手機(jī) 銀行業(yè)務(wù) 檢查注冊表項
原著:Jan Egil Refsnes 翻譯:阿捷

三. XSL--在客戶端的實現(xiàn)


1.JavaScript解決方案

在上面的章節(jié)中我們已經(jīng)解釋了XSL是如何將XML轉(zhuǎn)換成HTML文件。方法就是在XML文檔的頭部加入一個XSL樣式表信息,然后讓瀏覽器執(zhí)行轉(zhuǎn)換過程。

這種方法在大部分情況下都做得很好,但是在不支持XML的瀏覽器中就無法正確顯示了。

一個更好的更全面的解決方案是使用Javascript來實現(xiàn)XML到HTML的轉(zhuǎn)換。但是使用JavaScript必須得到以下功能支持:

a.允許Javascript代替瀏覽器進(jìn)行細(xì)節(jié)檢測;

b.根據(jù)不同的需要和不同的瀏覽器使用不同的樣式表。

對于XSL來說這是完全可行的。設(shè)計XSL的目標(biāo)之一就是允許將一種格式轉(zhuǎn)換成另一種格式,支持不同的瀏覽器,支持不同的用戶需求。未來的瀏覽器的重要任務(wù)就是在客戶端執(zhí)行XSL的轉(zhuǎn)換工作。


2.一個具體的實例

下面是我們上面提到的一個XML文檔(cd_catalog.xml)例子的部分代碼:

?xml version="1.0" encoding="ISO8859-1" ?>

CATALOG>

CD>

TITLE>Empire Burlesque/TITLE>

ARTIST>Bob Dylan/ARTIST>

COUNTRY>USA/COUNTRY>

COMPANY>Columbia/COMPANY>

PRICE>10.90/PRICE>

YEAR>1985/YEAR>

/CD>

.

.

.

下面是完整的XSL文件(cd_catalog.xsl):


?xml version='1.0'?>

xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

xsl:template match="/">

html>

body>

table border="2" bgcolor="yellow">

tr>

th>Title/th>

th>Artist/th>

/tr>

xsl:for-each select="CATALOG/CD">

tr>

td>xsl:value-of select="TITLE"/>/td>

td>xsl:value-of select="ARTIST"/>/td>

/tr>

/xsl:for-each>

/table>

/body>

/html>

/xsl:template>

/xsl:stylesheet>


注意,現(xiàn)在XML文件還沒有加入XSL樣式表,還沒有被轉(zhuǎn)換成HTML文件。

下面是用JavaSript來實現(xiàn)最后轉(zhuǎn)換的HTML代碼:


html>

body>

script language="javascript">

// Load XML

var xml = new ActiveXObject("Microsoft.XMLDOM")

xml.async = false

xml.load("cd_catalog.xml")


// Load the XSL

var xsl = new ActiveXObject("Microsoft.XMLDOM")

xsl.async = false

xsl.load("cd_catalog.xsl")


// Transform

document.write(xml.transformNode(xsl))

/script>


/body>

/html>


上面代碼中使用了Javascript,如果你不知道如何寫JavaScript,您最好專門學(xué)習(xí)一下。

第一段代碼建立一個Microsoft Parser(XMLDOM)解析的對象,并將XML文檔讀入內(nèi)存;第二段代碼建立另外一個對象并導(dǎo)入XSL文檔;最后一行代碼將XML文檔用XSL文檔轉(zhuǎn)換,并將結(jié)果輸出到HTML文件中。

標(biāo)簽:河南 滄州 沈陽 樂山 新疆 紅河 長治 上海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《XSL簡明教程(3)在客戶端的實現(xiàn)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    石家庄市| 禄丰县| 舟曲县| 昆山市| 河西区| 垣曲县| 北安市| 高安市| 治多县| 陵水| 剑川县| 本溪| 临安市| 房产| 晴隆县| 郑州市| 漳平市| 安多县| 安平县| 铜川市| 图们市| 元谋县| 泗洪县| 新巴尔虎左旗| 乐清市| 大方县| 汉寿县| 贵定县| 当雄县| 内丘县| 抚顺县| 佛坪县| 奉节县| 普安县| 荥经县| 闵行区| 抚宁县| 孝昌县| 呼图壁县| 全椒县| 玉树县|