XSLT簡(jiǎn)單基礎(chǔ)第二章:XSLT的案例(2)
發(fā)表時(shí)間:2024-06-13 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]2.2 一個(gè)實(shí)例現(xiàn)在我們來(lái)看一個(gè)簡(jiǎn)單的XSLT實(shí)際應(yīng)用例子,獲得一些感官上的認(rèn)識(shí)。很多網(wǎng)頁(yè)設(shè)計(jì)師看到類似HTML的代碼才會(huì)放心,代碼是那樣的親切和熟悉。例子1: "Hello, world!"hello world作為第一個(gè)教程已經(jīng)是程序語(yǔ)言中的慣例了。我們也遵守這個(gè)慣例,看看...
2.2 一個(gè)實(shí)例
現(xiàn)在我們來(lái)看一個(gè)簡(jiǎn)單的XSLT實(shí)際應(yīng)用例子,獲得一些感官上的認(rèn)識(shí)。很多網(wǎng)頁(yè)設(shè)計(jì)師看到類似HTML的代碼才會(huì)放心,代碼是那樣的親切和熟悉。
例子1: "Hello, world!"
hello world作為第一個(gè)教程已經(jīng)是程序語(yǔ)言中的慣例了。我們也遵守這個(gè)慣例,看看如何利用XSLT來(lái)顯示"hello world"。雖然這個(gè)例子沒(méi)有什么實(shí)際用途,但是請(qǐng)大家不要急,后面還有更詳細(xì)的例子。
第一步:建立要輸入XML文檔hello.xml。
<?xml version="1.0" encoding="iso-8859-1"?>
<greeting>Hello, world!</greeting>
這是一個(gè)很簡(jiǎn)單XML文檔,只包含一個(gè)節(jié)點(diǎn)的XML結(jié)構(gòu)樹(shù)。
第二步:建立XSLT文檔hello.xsl。提示:默認(rèn)的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>
你現(xiàn)在可以用IE5.0以上版本瀏覽器打開(kāi)這個(gè)hello.xsl文件,看到XSL的結(jié)構(gòu)樹(shù)。
第三步:在XML中調(diào)用這個(gè)XSL文件。修改hello.xml的代碼為:
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="hello.xsl"?>
<greeting>Hello, world!</greeting>
ok,到這一步原理上已經(jīng)完成了所有的代碼,接下來(lái)只要用一個(gè)XSLT的處理器(XML Processor)來(lái)執(zhí)行hello.xml就可以看到"hello
world"的顯示結(jié)果了。流行的處理器軟件有以下幾種:
(1).James Clark的XT。下載網(wǎng)址:http://www.jclark.com/xml/xt.html
(2).IBM的XML for Java軟件包,名為L(zhǎng)otusXSL。下載網(wǎng)址:www.alphaworks.ibm.com/tech/xml4j
(3).Saxon。下載網(wǎng)址:http://www.wrox.com
(4).微軟的MSXML3。下載網(wǎng)址:http://www.microsoft.com/xml
有網(wǎng)友要問(wèn),我想在瀏覽器中看到"hello world"的效果應(yīng)該怎么做?在微軟的IE5.5內(nèi)嵌了MSXML3解釋器,你可以用IE5.5打開(kāi)hello.xml文件,就可以看到結(jié)果。如果只看到XML結(jié)構(gòu)樹(shù),不是單獨(dú)的"hello
world"字樣,說(shuō)明你的瀏覽器沒(méi)有安裝MSXML3版本。
如果沒(méi)有安裝又想看效果怎么辦?那還是用我們?cè)赬ML教程中的老辦法,采用JS實(shí)現(xiàn)。(這已經(jīng)超出了本文要講的范圍,但為了更加直觀,便于理解,我們?cè)谶@里提供實(shí)例代碼。)下面是一種實(shí)現(xiàn)的代碼,可以保存為hello.htm,和上面的hello.xml,hello.xsl放在同一目錄下面。最后用IE5.0以上版本打開(kāi)hello.htm就可以看到效果了。
<html>
<head>
<script language="JavaScript" for="window" event="onload">
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("hello.xml");
nodes = xmlDoc.documentElement.childNodes;
greeting.innerText = nodes.item(0).text;
</script>
<title>First XSLT Example</title>
</head>
<body bgcolor="#FFFFFF">
<span id="greeting"></span><br>
</body>
</html>