<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      XSL簡明圖文說明教程(3)在客戶端的完成

      [摘要]三. XSL--在客戶端的實現1.JavaScript解決方案在上面的章節中我們已經解釋了XSL是如何將XML轉換成HTML文件。方法就是在XML文檔的頭部加入一個XSL樣式表信息,然后讓瀏覽器執行轉換過程。這種方法在大部分情況下都做得很好,但是在不支持XML的瀏覽器中就無法正確顯示了。一個更好的...
      三. XSL--在客戶端的實現

      1.JavaScript解決方案

      在上面的章節中我們已經解釋了XSL是如何將XML轉換成HTML文件。方法就是在XML文檔的頭部加入一個XSL樣式表信息,然后讓瀏覽器執行轉換過程。

      這種方法在大部分情況下都做得很好,但是在不支持XML的瀏覽器中就無法正確顯示了。

      一個更好的更全面的解決方案是使用Javascript來實現XML到HTML的轉換。但是使用JavaScript必須得到以下功能支持:

      a.允許Javascript代替瀏覽器進行細節檢測;

      b.根據不同的需要和不同的瀏覽器使用不同的樣式表。

      對于XSL來說這是完全可行的。設計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文件還沒有加入XSL樣式表,還沒有被轉換成HTML文件。

      下面是用JavaSript來實現最后轉換的HTML代碼:


      <html>

      <body>

      <script language="javascript">

      // Load XML

      var xml = new ActiveXObject("Microsoft.XMLDOM")

      xml.async = false

      xml.load("cd_catalog.xml")


      // Load the XSL

      var xsl = new ActiveXObject("Microsoft.XMLDOM")

      xsl.async = false

      xsl.load("cd_catalog.xsl")


      // Transform

      document.write(xml.transformNode(xsl))

      </script>


      </body>

      </html>


      上面代碼中使用了Javascript,如果你不知道如何寫JavaScript,您最好專門學習一下。

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





      日韩精品一区二区三区高清