亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > XML > 正文

XSL基礎教程第三章

2024-09-05 20:56:14
字體:
來源:轉載
供稿:網友
客戶端XSL

如果瀏覽器支持XML,,就可以用XSL在瀏覽器中將文檔轉換成HTML。

一個JavaScript的解決方法

在前文中,我們解釋了如何用XSL將一個文檔從XML轉換成HTML。竅門就是向XML文件中增加一個XSL樣式表,然后讓瀏覽器來進行轉換。即使這種方法能奏效,在XML文件中包含一個樣式表引用也并非令人滿意的方法,并且在不支持XSL的瀏覽器上這種方法還不能奏效。

一個更通用的方法應該是用一個JavaScript來進行從XML到HTML的轉換。使用一個JavaScript,就更有以下可能性:

允許JavaScript進行瀏覽器細節測試;

根據瀏覽器和用戶需求使用不同的樣式表。

這就是XSL的美妙之處。XSL設計目的之一就是使數據從一個格式轉換成另一個格式成為可能,從而支持不同的瀏覽器和不同的用戶需求。

客戶端XSL轉換將成為未來瀏覽器工作任務的一個主要部分,我們還將看到專業化瀏覽器市場的成長,比如Braille、 發聲網絡、網絡打印機、手持PC、移動電話等。

XML文件和XSL文件

現在重新來看看前面章節中的XML文檔:
  
以下為引用的內容:
    <?xml version="1.0"?>
  
    <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樣式表:
  
以下為引用的內容:
    <?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文件的引用,XSL文件也沒有對XML文件的引用。注意:上面的句子說明一個XML文件可以用許多不同的XSL文件進行轉換。
  
在瀏覽器中將XML轉換到HTML

以下是在客戶機上將XML文件轉換成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>
  
如果使用的是Internet Explorer 5.0 或更高版本,請點擊這里查看結果。

代碼的第一塊創建了Microsoft XML 解析器(XMLDOM)的一個例示,并將XML文檔加載到內存中。代碼的第二塊創建解析器的另一個例示,并將XSL文檔加載到內存中。代碼的最后一行用XSL文檔轉換XML文檔,將結果寫入HTML 文檔中。

服務器端XSL

由于不是所有的瀏覽器都支持XML和XSL,因此就有了一個在服務器上將XML轉換成HTML的方法。

一個跨瀏覽器的解決方法

在前面的章節中,我們解釋了如何用XSL在瀏覽器中將XML文檔轉換成HTML,竅門就是讓JavaScript使用一個XML解析器來進行轉換。但是當瀏覽器不支持XML解析器時,這種方法是不奏效的。要使XML數據對所有瀏覽器都可用,我們就必須在服務器上轉換XML文檔,并將它作為純HTML發送到瀏覽器。

這是XSL的另一個美妙之處。XSL的設計目的之一是使得在服務器上將數據從一種格式轉換成另一種格式成為可能,并將可讀數據返回到所有未來的瀏覽器中。

在服務器上進行XSL轉換正在成為未來Internet信息服務器工作任務的一個主要部分,同時我們將看到專用瀏覽器市場的發展,如:Braille、有聲網絡、網絡打印機、手持PC、移動電話等。

XML文件和XSL文件

現在來重新看看前面章節中的XML文檔:
  
以下為引用的內容:
    <?xml version="1.0"?>
  
    <CATALOG>
  
     <CD>
  
      <TITLE>Empire Burlesque</TITLE>
  
      <ARTIST>Bob Dylan</ARTIST>
  
      <COUNTRY>USA</COUNTRY>
  
      <COMPANY>Columbia</COMPANY>
  
      <PRICE>10.90</PRICE>
  
      <YEAR>1985</YEAR>
  
     </CD>
  
    .
  
    .
  
    .
  
如果使用的是Internet Explorer 5.0或更高版本,可以點擊這里查看XML文件。

再看看伴隨的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>
  
如果使用的是Internet Explorer 5.0或更高版本,可以點擊這里查看XSL文件。

以上XSL文檔的語法在前面章節中已經解釋過了,因此這里不再做解釋。但是要確保XML文件沒有對XSL文件的引用,XSL文件也沒有對XML文件的引用。同時請注意:上面的句子表明一個服務器上的XML文件可以用許多不同的XSL文件進行轉換。

在服務器端將XML轉換成HTML

以下是在服務器上轉換XML文件所需要的簡單源代碼:
  
以下為引用的內容:
    <%
  
    '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"))
  
    'Transform the file
  
    Response.Write(xml.transformNode(xsl))
  
    %>
  
代碼的第一塊創建Microsoft XML解析器(XMLDOM)的一個例示,并將XML文件裝載到內存中。代碼的第二塊創建解析器的另一個例示,并將XSL文檔裝載到內存。代碼的最后一行用XSL文檔轉換XML文檔,并將結果返回瀏覽器。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲少妇中文在线| 欧美性生活大片免费观看网址| 91精品国产乱码久久久久久蜜臀| 久久手机免费视频| 久久九九亚洲综合| 亚洲色图欧美制服丝袜另类第一页| 亚洲女同性videos| 91av在线播放| 黄网动漫久久久| 国产情人节一区| 欧美一级成年大片在线观看| 亚洲精品中文字幕女同| 亚洲一区二区自拍| 欧美日韩亚洲视频一区| 国产精品久久久久久五月尺| 欧美性猛交丰臀xxxxx网站| 97在线看免费观看视频在线观看| 色黄久久久久久| 色综合久久中文字幕综合网小说| 国产精品r级在线| 国产亚洲福利一区| 国产视频丨精品|在线观看| 一级做a爰片久久毛片美女图片| 日韩精品极品视频免费观看| 欧美丝袜一区二区| 一本色道久久88精品综合| 日韩精品视频免费专区在线播放| 欧美精品videos性欧美| 一区二区三区四区视频| 91美女福利视频高清| 久久久久久中文| 亚洲男人天堂手机在线| 国产成人精品一区| 日韩电影中文字幕在线| 日韩极品精品视频免费观看| 国产91精品青草社区| 97人人模人人爽人人喊中文字| 亚洲国产中文字幕在线观看| 91精品久久久久久| 欧美人交a欧美精品| 欧美日韩一区二区在线| 欧美成人三级视频网站| 亚洲精品av在线播放| 亚洲成人免费网站| 久久久久北条麻妃免费看| 欧美性极品xxxx做受| 久久在线免费观看视频| 国产精品男女猛烈高潮激情| 国产一区二区久久精品| 91久久精品在线| 成人av电影天堂| 久久久国产精品免费| 日本一本a高清免费不卡| 97色在线视频| 久久精品91久久久久久再现| 国产精品视频xxxx| 国产精品久久网| 久久久国产影院| 中文字幕亚洲一区二区三区| 久久久电影免费观看完整版| 成人av色在线观看| 欧美黑人巨大xxx极品| 亚洲成人av资源网| 亚洲男人天堂九九视频| 欧美激情区在线播放| 成人av电影天堂| 国产不卡精品视男人的天堂| 亚洲欧美在线一区二区| 欧美成在线视频| 久久精品人人爽| 日本精品免费一区二区三区| 欧美乱人伦中文字幕在线| 一区二区在线免费视频| 亚洲的天堂在线中文字幕| 亚洲美腿欧美激情另类| 欧美精品久久一区二区| 亚洲精品电影在线| 2019中文字幕在线| 欧美高清无遮挡| 国产视频精品一区二区三区| 亚洲国产中文字幕久久网| 久久视频在线视频| 日韩av在线天堂网| 国产精品女视频| 日韩电影免费在线观看| 在线观看亚洲视频| 国产精品福利在线观看网址| 久久99久久久久久久噜噜| 国产91精品最新在线播放| 成人免费视频a| 欧美精品做受xxx性少妇| 91大神在线播放精品| 亚洲欧洲在线播放| 成人黄色片网站| 永久免费看mv网站入口亚洲| 亚洲国产精久久久久久| 欧美极品少妇xxxxⅹ免费视频| 成人精品一区二区三区| 精品性高朝久久久久久久| 亚洲开心激情网| 国产精品入口日韩视频大尺度| 国产福利精品视频| 亚洲国产精品女人久久久| 久久久精品免费| 久久久免费高清电视剧观看| 亚洲精品欧美一区二区三区| 亚洲第一网站免费视频| 欧美成aaa人片在线观看蜜臀| 久久偷看各类女兵18女厕嘘嘘| 亚洲欧洲日产国码av系列天堂| 日韩中文字幕网址| 亚洲精品97久久| 久久精品视频在线| 91免费精品视频| 欧美激情亚洲视频| 亚洲一区二区久久久久久久| www.美女亚洲精品| 中文字幕免费精品一区| 亚洲视频欧美视频| 亚洲综合社区网| 亚洲国产欧美一区| 91在线|亚洲| 中文字幕免费精品一区高清| 久久久久久香蕉网| 中文字幕精品久久久久| 欧美激情第一页xxx| 国产一区二区三区视频| 欧美不卡视频一区发布| 国产精品成人av性教育| www.日韩av.com| 欧美性猛交xxxx富婆| 国产精品一区二区电影| 91在线观看免费高清完整版在线观看| 亚洲有声小说3d| 日韩欧美精品网址| 欧美日韩国产限制| 精品视频中文字幕| 亚洲国产精品va| 最好看的2019的中文字幕视频| 欧美日韩一区二区三区在线免费观看| 欧美高清激情视频| 亚洲色图18p| 在线精品高清中文字幕| 国模精品视频一区二区| 法国裸体一区二区| 亚洲第一精品夜夜躁人人爽| 欧美成人网在线| 久久91亚洲精品中文字幕奶水| 欧美精品18videosex性欧美| 国内外成人免费激情在线视频| 日韩免费高清在线观看| 国产一级揄自揄精品视频| 日韩av网站在线| 久久久久久亚洲精品中文字幕| 久久久久久久香蕉网| 欧美激情一区二区三级高清视频| 亚洲国产天堂久久国产91| 国产午夜精品麻豆| 欧美裸体男粗大视频在线观看| 亚洲色图偷窥自拍| 亚洲最大福利视频网| 亚洲欧洲日本专区| 亚洲综合在线中文字幕| 91视频免费在线|