XSLT輕鬆入門第二章:XSLT的執行個體

來源:互聯網
上載者:User

 

2.3 過程解析

 

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

 

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

 

這是標準的XML文檔的首行代碼,因為XSLT本身也是XML文檔。encoding屬性用來定義文檔使用的編碼形式,iso-8859-1主要支援西歐和北美的語言編碼。如果你想使用簡體中文,那麼就應該寫成:

 

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

 

接下去的代碼是:

 

<xsl:stylesheet

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

version="1.0">

 

這是標準的XSLT檔案首行代碼。xsl:stylesheet代碼的意思是將文檔作為一個樣式表來(stylesheet)處理。xmlns:xsl屬性是一個名字空間聲明,和XML中的名字空間使用方法一樣,用來防止元素名稱重複和混亂。其中首碼xsl的意思是文檔中使用的元素遵守W3C的XSLT規範。最後的version屬性說明樣式表只採用XSLT
1.0的標準功能,這也是目前僅有的標準。

 

<xsl:template match="/">

 

一個<xsl:template>元素定義一個模板規則。屬性match="/"說明XML來源文件中,這個模板規則作用的起點。"/"是一種XPath文法,我們在後面將詳細講述,這裡的"/"代表XML結構樹的根(root)。

 

接下去的代碼是:

 

<html>

<head>

<title>First XSLT Example</title>

</head>

<body>

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

</body>

</html>

 

說明:當模板規則被觸發,模板的內容就會控制輸出的結果。例子中,模板大部分內容由HTML元素和文本構成。只有<xsl:value-of>元素是XSLT文法,這裡<xsl:value-of>的作用是拷貝原文檔中的一個節點的值到輸出文檔。而select屬性則詳細指定要處理的節點名稱。這是XPath文法,"greeting"的意思就是尋找根節點名為greeting的元素,並用模板來處理這個節點。具體的就是找到<greeting>元素,然後將元素的值"hello
world"按模板樣式拷貝到輸出檔案。

提示:由於XML文檔是嚴格的層級結構(用IE5查看XML檔案,會看見XML文檔類似多級關聯菜單),所以我們形象的稱XML文檔為文檔樹,其中每一對元素稱作樹的一個節點。根項目就是根節點。

 

最後關閉所有元素:

 

</xsl:template>

</xsl:stylesheet>

 

好,例子解說完畢。你是否想過為什麼要用這麼複雜的方法來顯示"hello world"呢?

關鍵不在表面,而在於實質:用這種方法,hello world可以從XML文檔中被提取出來,並用各種不同的XSLT模板處理,來輸出不同需求的文檔。我們來看看XSLT的主要用途:

 

 

2.4 XSLT的用途

 

XSLT的主要用途就是資料轉換應用。

由於以XML為基礎的電子商務廣泛普及,XSLT作為資料轉換的角色也越來越重要。例如直接將電視新聞的資料格式轉換成報紙新聞需要的資料格式;將股票資料直接轉換成圖片顯示在網頁上;對EDI(電子資料交換)資料進行統計,排序等等。

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

 



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。