明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

XSLT簡單基礎(chǔ)第二章:XSLT的案例(3)

[摘要]2.3 過程解析 如果你成功的看到效果,你也許想知道這些代碼的具體含義,我們來詳細(xì)解說:看hello.xsl文件<?xml version="1.0" encoding="iso-8859-1"?>這是標(biāo)準(zhǔn)的XML文檔的首行代碼,因?yàn)閄SLT本身...

2.3 過程解析


如果你成功的看到效果,你也許想知道這些代碼的具體含義,我們來詳細(xì)解說:看hello.xsl文件


<?xml version="1.0" encoding="iso-8859-1"?>


這是標(biāo)準(zhǔn)的XML文檔的首行代碼,因?yàn)閄SLT本身也是XML文檔。encoding屬性用來定義文檔使用的編碼形式,iso-8859-1主要支持西歐和北美的語言編碼。如果你想使用簡體中文,那么就應(yīng)該寫成:


<?xml version="1.0" encoding="GB2312"?>


接下去的代碼是:


<xsl:stylesheet

xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

version="1.0">


這是標(biāo)準(zhǔn)的XSLT文件首行代碼。xsl:stylesheet代碼的意思是將文檔作為一個樣式表來(stylesheet)處理。xmlns:xsl屬性是一個名字空間聲明,和XML中的名字空間使用方法一樣,用來防止元素名稱重復(fù)和混亂。其中前綴xsl的意思是文檔中使用的元素遵守W3C的XSLT規(guī)范。最后的version屬性說明樣式表只采用XSLT
1.0的標(biāo)準(zhǔn)功能,這也是目前僅有的標(biāo)準(zhǔn)。


<xsl:template match="/">


一個<xsl:template>元素定義一個模板規(guī)則。屬性match="/"說明XML源文檔中,這個模板規(guī)則作用的起點(diǎn)。"/"是一種XPath語法,我們在后面將詳細(xì)講述,這里的"/"代表XML結(jié)構(gòu)樹的根(root)。


接下去的代碼是:


<html>

<head>

<title>First XSLT Example</title>

</head>

<body>

<p><xsl:value-of select="greeting"/></p>

</body>

</html>


說明:當(dāng)模板規(guī)則被觸發(fā),模板的內(nèi)容就會控制輸出的結(jié)果。例子中,模板大部分內(nèi)容由HTML元素和文本構(gòu)成。只有<xsl:value-of>元素是XSLT語法,這里<xsl:value-of>的作用是拷貝原文檔中的一個節(jié)點(diǎn)的值到輸出文檔。而select屬性則詳細(xì)指定要處理的節(jié)點(diǎn)名稱。這是XPath語法,"greeting"的意思就是尋找根節(jié)點(diǎn)名為greeting的元素,并用模板來處理這個節(jié)點(diǎn)。具體的就是找到<greeting>元素,然后將元素的值"hello
world"按模板樣式拷貝到輸出文件。

提示:由于XML文檔是嚴(yán)格的層級結(jié)構(gòu)(用IE5查看XML文件,會看見XML文檔類似多級關(guān)聯(lián)菜單),所以我們形象的稱XML文檔為文檔樹,其中每一對元素稱作樹的一個節(jié)點(diǎn)。根元素就是根節(jié)點(diǎn)。


最后關(guān)閉所有元素:


</xsl:template>

</xsl:stylesheet>


好,例子解說完畢。你是否想過為什么要用這么復(fù)雜的方法來顯示"hello world"呢?

關(guān)鍵不在表面,而在于實(shí)質(zhì):用這種方法,hello world可以從XML文檔中被提取出來,并用各種不同的XSLT模板處理,來輸出不同需求的文檔。我們來看看XSLT的主要用途:



2.4 XSLT的用途


XSLT的主要用途就是數(shù)據(jù)轉(zhuǎn)換應(yīng)用。

由于以XML為基礎(chǔ)的電子商務(wù)廣泛普及,XSLT作為數(shù)據(jù)轉(zhuǎn)換的角色也越來越重要。例如直接將電視新聞的數(shù)據(jù)格式轉(zhuǎn)換成報(bào)紙新聞需要的數(shù)據(jù)格式;將股票數(shù)據(jù)直接轉(zhuǎn)換成圖片顯示在網(wǎng)頁上;對EDI(電子數(shù)據(jù)交換)數(shù)據(jù)進(jìn)行統(tǒng)計(jì),排序等等。

XSLT是處理類似工作的理想工具。