好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > XSLT輕松入門第二章:XSLT的實例

XSLT輕松入門第二章:XSLT的實例

熱門標簽:東營電銷 南寧網絡外呼系統運營商 微信地圖標注合并了 400電話辦理包年 高德地圖地圖標注服務中心 隨州外呼調研系統 r語言數據可視化地圖標注 本地電話機器人 如何修改多個百度地圖標注

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實現。(這已經超出了本文要講的范圍,但為了更加直觀,便于理解,我們在這里提供實例代碼。)下面是一種實現的代碼,可以保存為hello.htm,和上面的hello.xml,hello.xsl放在同一目錄下面。最后用IE5.0以上版本打開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>

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是處理類似工作的理想工具。

您可能感興趣的文章:
  • python使用xslt提取網頁數據的方法
  • 使用Python下的XSLT API進行web開發的簡單教程
  • 一個用xslt樣式將xml解析為xhtml的類TransformBinder(兼容FF和IE7.0)
  • 用xslt將xml解析成xhtml的代碼
  • python提取字典key列表的方法
  • Python實現從url中提取域名的幾種方法
  • python利用正則表達式提取字符串
  • python使用正則表達式提取網頁URL的方法
  • Python進行數據提取的方法總結
  • 1分鐘快速生成用于網頁內容提取的xslt

標簽:果洛 宿遷 西雙版納 黃石 寧夏 拉薩 德州 益陽

巨人網絡通訊聲明:本文標題《XSLT輕松入門第二章:XSLT的實例》,本文關鍵詞  XSLT,輕松,入門,第二章,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《XSLT輕松入門第二章:XSLT的實例》相關的同類信息!
  • 本頁收集關于XSLT輕松入門第二章:XSLT的實例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 亚洲国产精品成熟老女人| 欧美熟妇高潮流白浆| a视频免费在线| 公交掀裙子从后面进去| 美女被强插| 男同桌上课吃我的乳h文| 紧身裙女教师番号| 日本丰满毛茸茸**| 九九国产| 天天射天天草| 日本人妻免费无码虎虎影视| 亚洲毛茸茸多**女八厕所小便| 欧洲码日本码专线| 扒开她粉嫩的小缝视频在线看| 免费一级无码婬片A片APP直播 | 边吃胸边膜下免费观看免下载| 午夜精品电影| 妊娠8ヶ月の美人妊妇| 美女一级黄色| 一级毛片高清电影片| 欧美一级婬片A片无码潘金莲直播| 夜间十八款禁用软件大全免费下载 | 又粗又硬又大久久久| 午夜成人精品久久久久久久| 天天做天天爱夜夜爽毛片毛片| 欧美AV人人夜夜澡人人爽麻豆| 国产欧美精品一区aⅴ影院| 男女啪啦啦超猛烈| 欧美一区二区三区爱爱| 被老男人一夜做了6次爱| 97电影九七理论片| 古代全黄h全肉短篇禁乱| 亚洲国产成人综合一区二区三区| 久久精品亚洲AV无码一区二区| 超a碰在线97策驰| 4444西西人体做爰大胆色欲AV | 她当着丈夫面被耍了完整| 99re8国产这里只有精品的介绍 | 亚洲国产精品+制服丝袜| 乳奴隷乳フ辱免费观看| 女的张开腿让男生桶出水|