2. XSLT的實例
2.1 XSLT如何轉換XML
2.2 一個實例
2.3 過程解析
2.4 XSLT的用途
2.1 XSLT如何轉換XML
我們打個有趣的比方,你玩過橡皮泥吧,用不同的模子按上去,就可以做出需要的形狀。如果我們假設XML數據文檔是一塊大橡皮泥,XSLT就象是一個模子,用力一按,就做出需要的形狀來---符合不同需要的HTML文檔。
我們將XML原文檔輸入,用XSL作為模板,通過轉換引擎,最終輸出需要的HTML文檔。其中的轉換引擎就是比喻中"用力一按"的過程。在具體應用中,有專門的軟件來實現這個轉換過程,名為XML Processor。目前已經有很多 Processor 軟件(下面將詳細提到),在IE5.5中也已經內嵌了XML Processor。
2.2 一個實例
現在我們來看一個簡單的XSLT實際應用例子,獲得一些感官上的認識。很多網頁設計師看到類似HTML的代碼才會放心,代碼是那樣的親切和熟悉。
例子1: "Hello, world!"
hello world作為第一個教程已經是程序語言中的慣例了。我們也遵守這個慣例,看看如何利用XSLT來顯示"hello world"。雖然這個例子沒有什麼實際用途,但是請大家不要急,後面還有更詳細的例子。
第一步:建立要輸入XML文檔hello.xml。
<?xml version="1.0" encoding="iso-8859-1"?>
<greeting>Hello, world!</greeting>
這是一個很簡單XML文檔,只包含一個節點的XML結構樹。
第二步:建立XSLT文檔hello.xsl。提示:默認的XSLT文件的後綴名為.xsl。
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
<head>
<title>First XSLT example</title>
</head>
<body>
<p><xsl:value-of select="greeting"/></p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
你現在可以用IE5.0以上版本浏覽器打開這個hello.xsl文件,看到XSL的結構樹。
第三步:在XML中調用這個XSL文件。修改hello.xml的代碼為:
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="hello.xsl"?>
<greeting>Hello, world!</greeting>
ok,到這一步原理上已經完成了所有的代碼,接下來只要用一個XSLT的處理器(XML Processor)來執行hello.xml就可以看到"hello
world"的顯示結果了。流行的處理器軟件有以下幾種:
(1).James Clark的XT。下載網址:http://www.jclark.com/xml/xt.html
(2).IBM的XML for Java軟件包,名為LotusXSL。下載網址:www.alphaworks.ibm.com/tech/xml4j
(3).Saxon。下載網址:http://www.wrox.com
(4).微軟的MSXML3。下載網址:http://www.microsoft.com/xml
有網友要問,我想在浏覽器中看到"hello world"的效果應該怎麼做?在微軟的IE5.5內嵌了MSXML3解釋器,你可以用IE5.5打開hello.xml文件,就可以看到結果。如果只看到XML結構樹,不是單獨的"hello
world"字樣,說明你的浏覽器沒有安裝MSXML3版本。
如果沒有安裝又想看效果怎麼辦?那還是用我們在XML教程中的老辦法,采用JS