DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> XSL基礎教程第一章
XSL基礎教程第一章
編輯:XML詳解     

XSL介紹
    XML的樣式表語言XSL比CCS要復雜得多。
  
  CSS:Html的樣式表語言
    由於Html使用預先確定的標記,因此這些標記的含義都很好理解:<p>元素定義一段,<h1>元素定義一個標題。浏覽器知道如何顯示這些元素。
  
    使用CSS向Html元素增加顯示格式是一個簡單的過程:很容易告訴浏覽器用某種特殊字體或顏色來顯示各個元素,浏覽器也很容易理解。
  
  XSL:XML的樣式表
    由於XML不使用預先確定的標記(我們可以根據需要使用任意標記),因此標記的含義並不能被直接理解:<table>可以表示一個Html表格,也可以表示一件家具。由於XML的特性,浏覽器不知道如何顯示一個XML文檔。
  
    為了顯示XML文檔,必須要有一個機制來描述如何顯示文檔。這些機制之一是CSS,但是XSL(可擴展的樣式表語言)是XML的首選樣式表語言,它要比Html使用的CSS復雜得多。
  
  XSL:不僅僅是一個樣式表
    XSL包含3部分:
  
    一個轉換XML文檔的方法;
  
    一個定義XML部分和模式的方法;
  
    一個格式化XML文檔的方法。
  
    如果對此還不能理解,那麼可以先將XSL理解成:一種將XML轉換成Html的語言,一種可以過濾和分類XML數據的語言,一種可以對一個XML文檔的部分進行尋址的語言,一種可以基於數據值格式化XML數據的語言(如用紅色顯示負數),一種向不同設備輸出XML數據的語言(如屏幕、紙或聲音)。
  
  XSL是一種WWW標准
    XSL是WWW協會推薦的一種標准。這種語言的前兩部分在1999年11月已經成為W3C推薦標准。2000年,包括XSL格式化部分的完整XSL推薦標准成為W3C的候選標准。
  
  XSL語言
    XSL實際上包含三種語言,其中最重要的是XSLT。
  
  XSL是三種語言的結合體
    上面提到,XSL實際上包含三種語言,具體是:
  
    XSLT是一種轉換XML的語言;
  
    XPath是一種定義XML部分或模式的語言;
  
    XSL格式化對象是一種定義XML顯示方式的語言。
  
    XSLT是一種用來將XML文檔轉換成其他類型文檔或其它XML文檔的語言。XPath是一種對XML文檔的部分進行尋址的語言。設計XPath是要讓XSLT使用的。格式化是將一個XSL轉換的結果變成適於讀者或聽眾使用的輸出格式的過程。
1999年11月16日,XSLT和XPath被作為兩個單獨的W3C推薦標准發布。目前對於XSL格式化對象還沒有單獨的W3C文檔,但是在XSL1.0推薦標准內有一個描述。
  
  XSLT:XSL轉換
    XSLT是XSL標准中最重要的部分,它用於將一個XML文檔轉換成另一個XML文檔或另一種類型的文檔,也就是將一個XML文檔轉換成浏覽器所能識別的一種格式。這其中之一就是HTML。通常,XSLT將每個XML元素都轉換成一個Html元素。
  
    XSLT還可以向輸出文件中增加全新的元素,或去掉一些元素。它可以重新安排這些元素並對元素進行分類,測試並確定顯示哪些元素等等。
  
    描述這種轉換過程的一個常用說法是:XSL用XSLT將一個XML來源樹轉換成另一個XML結果樹(或將一個XML源文檔轉換成另一個XML結果文檔)。
  
  XSL如何工作
    在轉換的過程中,XSLT用XPath來定義源文檔中與一個或多個預先確定的模板相匹配的部分。當找到了一個匹配時,XSLT就將源文檔中的匹配部分轉換成結果文檔;而源文檔中不與任何一個模板匹配的部分最終在結果中保持不變。
  
  本文集中介紹XSLT和XPath
    本文的大部分章節都集中在XSLT和XPath上。我們將用XSLT來定義XML轉換,用XPath來為轉換定義匹配模式。即使XSL包含了3個不同名稱的不同部分,我們仍將使用XSL的通用術語。
  
  XSL 浏覽器
    目前支持XSL的浏覽器很少,我們將用Internet Explorer 5.0來演示XSL。
  
  Internet Explorer的XML解析器
    為了用XSL來處理一個XML文檔,你需要一個帶有XSL引擎的XML解析器。目前,Internet Explorer 5.0是符合這一條件的唯一浏覽器。所以,本文舉例中的代碼只在Internet Explorer 5.0或更高版本中工作。
  
  Internet Explorer的XSL引擎
    Internet Explorer 5.0中的XSL並不是100%的與最新發布的W3C XSL標准相吻合。在XSL標准完全固定下來之前,Internet Explorer 5就已經發布了,並且當時的XSL標准還是一個工作草稿。但是Microsoft已經承諾在下一個版本中解決這個問題。
  
    本文中的例子與正式的W3C XSL推薦中的例子只有很小的不同,這些例子很適用於XSL的學習。

例子中唯一可見的區別就是XSL樣式表聲明:
  
    這是W3C XSL推薦中的標准方式:<xsl:stylesheet XMLns:xsl="http://www.w3.org/1999/XSL/Transform">

  
    這是Internet Explorer的方式(來自XSL工作草稿):<xsl:stylesheet XMLns:xsl="http://www.w3.org/TR/WD-xsl">
  
  Internet Explorer MSXML
    MSXML 2.0是IE 5.0所攜帶的XML解析器的名字,MSXML 2.5是Windows 2000所攜帶的解析器的名字,MSXML 3.0是XML解析器的最新版本。MSXML3.0可以從Microsoft下載,未來版本的Internet Explorer和Windows都將攜帶它。
  
    按照Microsoft的說法,MSXML 3.0與正式的W3C XSL 標准100%兼容:“MSXML 3.0比MSXML 2.5有明顯的進步:安全的服務器HTTP訪問,XSLT和XPath的完整執行,到SAX的改變(用於XML的簡單API),與W3C標准更加一致,以及許多臭蟲的修復。”
  

 

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved