多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

中國最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2

xslt教程

XSLT 教程

XSLT 高級

XSLT 參考手冊

  • XSLT 實例
  • XSLT 在客戶端

    閱讀 (2545)

    XSLT - 在客戶端


    如果您的瀏覽器支持 XSLT,那么在瀏覽器中它可被用來將文檔轉換為 XHTML。


    JavaScript 解決方案

    在前面的章節,我們已向您講解如何使用 XSLT 將某個 XML 文檔轉換為 XHTML。我們是通過以下途徑完成這個工作的:向 XML 文件添加 XSL 樣式表,并通過瀏覽器完成轉換。

    即使這種方法的效果很好,在 XML 文件中包含樣式表引用也不總是令人滿意的(例如,在無法識別 XSLT 的瀏覽器這種方法就無法奏效)。

    更通用的方法是使用 JavaScript 來完成轉換。

    通過使用 JavaScript,我們可以:

    • 進行瀏覽器確認測試
    • 根據瀏覽器和用戶需求來使用不同的樣式表

    這就是 XSLT 的魅力所在!XSLT 的設計目的之一就是使數據從一種格式轉換到另一種格式成為可能,同時支持不同類型的瀏覽器以及不同的用戶需求。

    客戶端的 XSLT 轉換一定會成為未來瀏覽器所執行的主要任務之一,同時我們也會看到其在特定的瀏覽器市場的增長(盲文、聽覺瀏覽器、網絡打印機,手持設備,等等)。


    XML 文件和 XSL 文件

    請看這個在前面的章節已展示過的 XML 文檔:

    <?xml version="1.0" encoding="ISO-8859-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>
    .
    .
    </catalog>

    查看 XML 文件

    以及附隨的 XSL 樣式表:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template match="/">
    <html>
    <body>
    <h2>My CD Collection</h2>
    <table border="1">
    <tr bgcolor="#9acd32">
    <th align="left">Title</th>
    <th align="left">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>

    查看 XSL 文件

    請注意,這個 XML 文件沒有包含對 XSL 文件的引用。

    重要事項:上面這句話意味著,XML 文件可使用多個不同的 XSL 樣式表來進行轉換。


    在瀏覽器中把 XML 轉換為 XHTML

    這是用于在客戶端把 XML 文件轉換為 XHTML 的源代碼:

    實例

    <html>
    <head>
    <script>
    function loadXMLDoc(dname)
    {
    if (window.ActiveXObject)
    {
    xhttp=new ActiveXObject("Msxml2.XMLHTTP.3.0");
    }
    else
    {
    xhttp=new XMLHttpRequest();
    }
    xhttp.open("GET",dname,false);
    xhttp.send("");
    return xhttp.responseXML;
    }

    function displayResult()
    {
    xml=loadXMLDoc("cdcatalog.xml");
    xsl=loadXMLDoc("cdcatalog.xsl");
    // code for IE
    if (window.ActiveXObject)
    {
    ex=xml.transformNode(xsl);
    document.getElementById("example").innerHTML=ex;
    }
    // code for Mozilla, Firefox, Opera, etc.
    else if (document.implementation && document.implementation.createDocument)
    {
    xsltProcessor=new XSLTProcessor();
    xsltProcessor.importStylesheet(xsl);
    resultDocument = xsltProcessor.transformToFragment(xml,document);
    document.getElementById("example").appendChild(resultDocument);
    }
    }
    </script>
    </head>
    <body onload="displayResult()">
    <div id="example" />
    </body>
    </html>

    嘗試一下 ?

    提示:假如您不了解如何編寫 JavaScript,請學習我們的 JavaScript 教程

    實例解釋:

    loadXMLDoc() 函數

    loadXMLDoc() 函數是用來加載 XML 和 XSL 文件。

    它檢查用戶擁有的和加載文件的瀏覽器類型。

    displayResult() 函數

    該函數用來顯示使用 XSL 文件定義樣式的 XML 文件。

    • 加載 XML 和 XSL 文件
    • 測試用戶擁有的瀏覽器類型
    • 如果用戶瀏覽器支持 ActiveX 對象:
      • 使用 transformNode() 方法把 XSL 樣式表應用到 XML 文檔
      • 設置當前文檔(id="example")的 body 包含已經應用樣式的 XML 文檔
    • 如果用戶的瀏覽器不支持 ActiveX 對象:
      • 創建一個新的 XSLTProcessor 對象并導入 XSL 文件
      • 使用 transformToFragment() 方法把 XSL 樣式表應用到 XML 文檔
      • 設置當前文檔(id="example")的 body 包含已經應用樣式的 XML 文檔

    關閉
    程序員人生
    主站蜘蛛池模板: 四虎东方va私人影库在线观看 | 亚洲黄色在线观看 | 成人国产亚洲 | 国产99精品一区二区三区免费 | 亚洲码欧美码一区二区三区 | 羞羞官网| 欧美人与禽x0x0牲伦交 | 亚洲精品乱码久久久久久v 亚洲精品乱码久久久久久蜜桃 | 性生一级欧美片 | 国产精品久久久久久久免费大片 | 精品国产日韩亚洲一区二区 | 手机看片国产免费久久网 | 亚洲欧美日韩在线精品一区二区 | 欧美一级毛片高清视频 | 日本三级成人中文字幕乱码 | 日韩欧美一区二区三区 | 午夜视频免费在线播放 | 最近中文字幕高清字幕6 | 伊人久久精品亚洲午夜 | 成人偷拍自拍 | 日本免费一区二区三区看片 | 国产精品老女人精品视 | 日本特黄一级大片 | 一级黄色淫片 | 中文字幕不卡高清免费 | 成年人在线观看视频网站 | 最近最新中文字幕高清免费 | 中文字幕福利视频 | 男女男精品视频网站在线观看 | 亚洲人免费视频 | 亚洲成年人在线观看 | 一级做片爱性视频免费 | 免费一级毛片一级毛片aa | 亚洲另类小说图片 | 成人免费视频一区二区三区 | 欧美日韩性视频一区二区三区 | 欧美jizz8性欧美 | 久久综合九色综合桃花 | 欧美自拍网| 欧美性bbw | 日本xxxxxxxxx18护士 |