国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

XSL簡明教程(4)在服務(wù)器端的實現(xiàn)

2019-11-18 20:03:18
字體:
供稿:網(wǎng)友
原著:Jan Egil Refsnes 翻譯:阿捷

四: XSL --- 在服務(wù)器端的實現(xiàn)


1.兼容所有的瀏覽器

在上面一章我們介紹了可以通過javaScript調(diào)用瀏覽器的xml parser(解析軟件)來轉(zhuǎn)換XML文檔。但是這個方案依然有個問題:如果瀏覽器沒有XML
parser插件怎么辦?(注:IE5內(nèi)自帶XML parser)

為了使我們的XML數(shù)據(jù)能被所有的瀏覽器正確顯示,我們不得不在服務(wù)器端將XML轉(zhuǎn)換成純HTML代碼,再輸出給瀏覽器。

這也是使用XSL的另一個好處。在服務(wù)器端將一種格式轉(zhuǎn)換為另一種格式也是XSL的設(shè)計目標(biāo)之一。

同樣,轉(zhuǎn)換工作也將成為未來服務(wù)器段的主要工作。


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>


下面是在服務(wù)器端轉(zhuǎn)換XML文件為HTML文件的原代碼:


<%

'Load the XML

set xml = Server.CreateObject("Microsoft.XMLDOM")

xml.async = false

xml.load(Server.MapPath("cd_catalog.xml"))


'Load the XSL

set xsl = Server.CreateObject("Microsoft.XMLDOM")

xsl.async = false

xsl.load(Server.MapPath("cd_catalog.xsl"))


Response.Write(xml.transformNode(xsl))

%>


注意:我們這里的例子采用的是asp文件,用VBScript編寫的。如果您不了解ASP或者VBScript,建議閱讀有關(guān)書籍。(當(dāng)然,也可以采用其他的語言編寫服務(wù)器端程序)


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


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 孟连| 九龙县| 陵水| 南丰县| 凉城县| 黎川县| 丹棱县| 万宁市| 双流县| 呼伦贝尔市| 龙门县| 彭山县| 商城县| 陆良县| 隆林| 鲜城| 类乌齐县| 岗巴县| 辰溪县| 如东县| 剑川县| 凤山县| 无锡市| 哈巴河县| 保靖县| 子洲县| 渝北区| 凯里市| 额敏县| 霞浦县| 乌拉特中旗| 谷城县| 濉溪县| 惠东县| 信丰县| 施秉县| 五家渠市| 万荣县| 徐汇区| 宁都县| 黄梅县|