`

XSLT - 客户端

    博客分类:
  • XML
阅读更多
如果您的浏览器支持 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>
<body>

<script type="text/javascript">

// Load XML
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("cdcatalog.xml")

// Load XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("cdcatalog.xsl")

// Transform
document.write(xml.transformNode(xsl))

</script>

</body>
</html>提示:假如您不了解如何编写 JavaScript,请学习我们的《JavaScript 教程》。

第一段代码创建了微软的 XML 解析器的一个实例,然后把 XML 文件载入了内存。第二段代码创建了解析器的另一个实例,然后把这个 XSL 文件载入了内存。最后一行代码使用 XSL 文档转换了 XML 文档,并在浏览器中把结果作为 XHTML 显示出来。任务完成!

分享到:
评论

相关推荐

    xslt-processor:不带本机库依赖项JavaScript XSLT处理器 开发技术 - 其它.zip

    总之,`xslt-processor`是一个为JavaScript环境设计的无本机库依赖的XSLT处理器,它在C#开发者中可能被用来实现跨平台的XML数据转换功能,特别是在需要客户端处理XSLT转换的场景下。理解并正确使用这样的库,能够...

    xslt-for-ogc-services:用于将 OGC 服务响应(如 GetCapabilities)转换为人类可读格式的 XSLT 样式表

    我们以这种方式提供的文档页面将显示服务所需的最重要设置,以及用于预览服务的简单地图客户端。 服务配置中的更改将更新 XML,这将再次更新文档 - 完全自动。 目前,以下样式表可用: WMS 1.1.1(向下兼容)...

    自己编写的从XML到HTML的表单Form转换代码xml2form 使用XSLT客户端实现

    我采用xml文件记录表单中需要的数据,使用XSLT在服务器端或客户端将该xml文件转换成HTML中需要的FORM表单. 该XSLT是一个通用的模式,只需要简单的模仿例子中的xml文件格式,就可以生成所有形式的表单.

    XSLT整理文档学习文档

    - **客户端转换**:通过在客户端执行XSLT,减轻服务器压力,减少网络流量。 - **安全**:查看源代码时,用户只能看到XML数据,提高安全性。 - **快速响应变化**:需求变动时,只需修改XSLT,无需改动后端逻辑。 ...

    XSLT经典教程.doc

    在实际应用中,XSLT转换可以在客户端或服务器端进行。客户端转换通常涉及浏览器支持,用户可以直接在浏览器中查看转换后的结果。而服务器端转换则通常由Web服务器处理,然后将转换后的文档发送给客户端。 编辑XSLT...

    javascript xml xsl xslt

    JavaScript、XML、XSL与XSLT...JavaScript提供了客户端的动态性,XML作为数据载体,XSLT用于数据的转换,而XPath辅助定位XML文档中的特定元素。了解并熟练掌握这四者,对于提升Web应用的用户体验和功能完整性至关重要。

    用XML和XSLT进行高级的Web UI设计

    XML和XSL/XSLT是当今越来越流行的一种数据处理技术。本文是系列文章的第一篇,介绍如何用XML和XSL/XSLT设计和创建目录树。后续的每一篇文章都将介绍如何用XML和XSL/XSLT设计和创建一个特定的高级Web 应用程序用户...

    netty-0.4.zip

    Netty 是一个高性能、异步事件驱动的网络应用程序框架,主要用Java编写,用于快速开发可维护的高性能协议服务器和客户端。Netty 提供了一种高效的方式来构建网络应用,特别是对于那些需要处理大量并发连接的高负载...

    XSLT和HTML的帮助文档

    3. **动态网站**:服务器端使用XSLT将动态生成的XML转换为HTML,以响应客户端请求。 4. **Web应用程序**:在Web应用程序中,XSLT可以用来处理后台返回的XML数据,生成适应用户界面的HTML内容。 5. **文档转换**:...

    XSLT表格-开源

    基于独特的XSL转换的XForms到XHTML + Javascript(AJAX)转换。 适用的服务器端(PHP)或客户端(Internet Explorer,Mozilla FireFox,Opera,Safari)可使用XSLT 1.0引擎

    xslt转化HTML标签与数据结合

    在实际应用中,开发人员可以利用XSLT来构建动态网站,将服务器端获取的XML数据转化为用户界面,或者在客户端使用XSLT进行离线处理。这种分离数据和表现的方式符合Web开发的MVC(Model-View-Controller)架构原则,有...

    一个利用xslt和ajax实现的树型导航

    【XSLT与AJAX实现的树型导航】 在网页设计和开发中,树型导航是一种常见的用户界面元素,它能有效地展示层级关系,帮助用户快速理解和浏览...同时,由于大部分操作都在客户端进行,减少了服务器负载,优化了整体性能。

    用javascript以xslt显示xml_demo

    JavaScript是一种广泛应用于网页和网络应用的脚本语言,它主要用于客户端的交互逻辑处理。XSLT(可扩展样式表转换语言)则是用于将XML(可扩展标记语言)文档转换为其他格式,如HTML、PDF或者其他的XML文档。在这个...

    asp。netweb应用开发技术喻钧课后答案修正版.pdf

    通过以上总结,我们可以了解到ASP.NET Web应用开发涉及的技术领域非常广泛,从基本的C/S与B/S架构对比到复杂的XML与XSLT应用,每一个知识点都有其独特之处,掌握这些基础知识对于深入学习ASP.NET Web开发至关重要。

    XSLT指南

    - **Web服务**:转换XML响应以适应不同客户端的需求。 - **文档自动化**:生成自定义格式的报告或输出。 - **数据集成**:统一来自多个系统的数据源。 ### 7. 学习资源 - W3C官方文档:提供权威的XSLT标准参考。 -...

Global site tag (gtag.js) - Google Analytics