XSL簡明教程(4)在服務器端的實現_Xml教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:Web設計中如何使用XML數據
      XML數據源對象是一個ActiveX控件,允許你在XML文件和HTML頁面之間操作數據。本文將向你展示如何從各種XML數據源中提取數據,以及如何使用JavaScript顯示這些數據。 XML數據源對象DSO是一個微

      原著:Jan Egil Refsnes 翻譯:阿捷
      四: XSL --- 在服務器端的實現

      1.兼容所有的瀏覽器

      在上面一章我們介紹了可以通過JavaScript調用瀏覽器的XML parser(解析軟件)來轉換XML文檔。但是這個方案依然有個問題:如果瀏覽器沒有XML
      parser插件怎么辦?(注:IE5內自帶XML parser)

      為了使我們的XML數據能被所有的瀏覽器正確顯示,我們不得不在服務器端將XML轉換成純HTML代碼,再輸出給瀏覽器。

      這也是使用XSL的另一個好處。在服務器端將一種格式轉換為另一種格式也是XSL的設計目標之一。

      同樣,轉換工作也將成為未來服務器段的主要工作。

      2.一個具體實例

      下面是我們上面提到的一個XML文檔(cd_catalog.xml)例子的部分代碼:

      <?xml version="1.0" encoding="ISO8859-1" ?>
      <CATALOG>
      <CD>
      <TITLE>Empire Burlesque</TITLE>
      <ARTIST>Bob Dylan</ARTIST>
      <COUNTRY>USA</COUNTRY>
      <COMPANY>Columbia</COMPANY>
      <PRICE>10.90</PRICE>
      <YEAR>1985</YEAR>
      </CD>...

      下面是完整的XSL文件(cd_catalog.xsl):

      <?xml version='1.0'?>
      <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
      <xsl:template match="/">
      <html>
      <body>
      <table border="2" bgcolor="yellow">
      <tr>
      <th>Title</th>
      <th>Artist</th>
      </tr>
      <xsl:for-each select="CATALOG/CD">
      <tr>
      <td><xsl:value-of select="TITLE"/></td>
      <td><xsl:value-of select="ARTIST"/></td>
      </tr>
      </xsl:for-each>
      </table>
      </body>
      </html>
      </xsl:template>
      </xsl:stylesheet>

      下面是在服務器端轉換XML文件為HTML文件的原代碼:

      <%
      'Load the XML
      set xml = Server.CreateObject("Microsoft.XMLDOM")
      xml.async = false
      xml.load(Server.MapPath("cd_catalog.xml"))
      'Load the XSL
      set xsl = Server.CreateObject("Microsoft.XMLDOM")
      xsl.async = false
      xsl.load(Server.MapPath("cd_catalog.xsl"))
      Response.Write(xml.transformNode(xsl))
      %>

      注意:我們這里的例子采用的是ASP文件,用VBScript編寫的。如果您不了解ASP或者VBScript,建議閱讀有關書籍。(當然,也可以采用其他的語言編寫服務器端程序)

      第一段代碼建立一個Microsoft Parser(XMLDOM)解析的對象,并將XML文檔讀入內存;第二段代碼建立另外一個對象并導入XSL文檔;最后一行代碼將XML文檔用XSL文檔轉換,并將結果輸出到HTML文件中。

      分享:WEB頁面工具之語言XML的定義
      XML是一個精簡的SGML,它將SGML的豐富功能與HTML的易用性結合到Web的應用中。XML保留了SGML的可擴展功能,這使XML從根本上有別于HTML。XML要比HTML強大得多,它不再是固定的標記,而是允許定義

      來源:模板無憂//所屬分類:Xml教程/更新時間:2008-08-22
      相關Xml教程