`

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-for-ogc-services:用于将 OGC 服务响应(如 GetCapabilities)转换为人类可读格式的 XSLT 样式表

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

    XSLT教程(我自己组织的XSLT教程或者说是手册)

    XSLT 元素 XSLT在服务器上 XSLT在客户端

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

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

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

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

    XSLT表格-开源

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

    XSLT+CSS+JQuery+WebService实现网站

    XSLT+CSS+JQuery+WebService实现网站 分离到底!用XML+XSLT+CSS+JQuery...XML+XSLT+CSS的方案将数据、结构、表现进行了分离,而依托JQuery我们又可以轻松地将交互也从中分离出来,这样在客户端就达到了近乎完美的解耦。

    xslt基于jquery的脚本插件

    xslt.js是基于jquery通过xslt来转换xml成html的客户端脚步插件,经测试。 xslt.js supports the following browsers: * Mozilla 0.9.4 and greater. * Microsoft Internet Explorer 5 and greater, Internet ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    4.24 jaxp中的xslt api 175 4.24.1 转换器工厂 175 4.24.2 transformer和templates 176 4.24.3 一个例子 178 4.25 小结 179 第2部分 servlet篇 第5章 servlet与tomcat 182 5.1 servlet与servlet容器 182 5.2...

    Saxon-CE:浏览器中的XSLT 2.0

    历史笔记Saxon-CE是Saxonica首次涉足客户端(基于浏览器)XSLT支持,其中包括交互式XSLT扩展,旨在允许XSLT样式表通过修改HTML页面的内容来响应用户交互事件。 该产品是Saxon-Java代码的精简版本,可使用Google的GWT...

    微软开源的SignalR .Net客户端实现ASP.NET SignalR.zip

    SignalR Hub AuthorizationSecuring SignalR to your site’s ...XSLT基于SignalR的超线程上载器Asp.Net SignalR Chat Room(原创)利用SignalR实现IOS即时通讯(A篇服务端)使用SignalR实时显示淘宝买家信誉及...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    4.24 jaxp中的xslt api 175 4.24.1 转换器工厂 175 4.24.2 transformer和templates 176 4.24.3 一个例子 178 4.25 小结 179 第2部分 servlet篇 第5章 servlet与tomcat 182 5.1 servlet与servlet容器 182 5.2...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    4.24 jaxp中的xslt api 175 4.24.1 转换器工厂 175 4.24.2 transformer和templates 176 4.24.3 一个例子 178 4.25 小结 179 第2部分 servlet篇 第5章 servlet与tomcat 182 5.1 servlet与servlet容器 182 5.2...

    XML,XSLT,AJAX三大技术打造开源多用户博客X3BLOG

    X3-BLOG 是基于XML+XSLT+AJAX技术构建的开源多用户博客门户系统,服务器端采用当前最流行的动态网页开发语言之一ASP.NET(C#) 2.0编写,支持多种数据库,包括SQLSERVER2000\SQLSERVER2005\ORACLE\MYSQL\DB2\ACCESS等...

    xth:在浏览器中将xml-xslt转换为html

    在所有主要浏览器(包括Internet Explorer 10和更高版本)上都在客户端工作。 安装 CDN &lt; script src =" https://unpkg.com/xth/xth.min.js " &gt; &lt;/ script &gt; NPM npm install --save xth 例子 var...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    4.24 jaxp中的xslt api 175 4.24.1 转换器工厂 175 4.24.2 transformer和templates 176 4.24.3 一个例子 178 4.25 小结 179 第2部分 servlet篇 第5章 servlet与tomcat 182 5.1 servlet与servlet容器 182 5.2...

    sarissa-full-0.9.9.4

    1.客户端 javascript操作 xml xslt 2.多浏览器支持

    XML/XSLT Web Services Framework (XWSF)-开源

    XML / XSLT Web服务框架(XWSF)提供了一种简单,轻量但功能强大的环境,在该环境中,可以使用XSLT和Java编写Web服务客户端和服务器的脚本。

    altova-xmlspy-enterprise-2010-v12-3

    SOAP客户端,SOAP调试器,SOAP验证 XML数字签名XML文档的签名支持 即时图表创建用于显示和分析XML数据 JSON编辑器,JSON和XML转换 Visual Studio集成与Eclipse的集成 HTML编辑器和CSS编辑器,支持HTML5和CSS3 Java ...

    xmlspy.2013-patch

    SOAP客户端,SOAP调试器,SOAP验证 XML数字签名XML文档的签名支持 即时图表创建用于显示和分析XML数据 JSON编辑器,JSON和XML转换 Visual Studio集成与Eclipse的集成 HTML编辑器和CSS编辑器,支持HTML5和CSS3 Java ...

    restlet-jee-2.1.1.zip

    Restlet API包括一些能够创建基于字符串、文件、流(stream)、通道(channel)及XML文档的表示(representation),它支持SAX、DOM及XSLT。使用FreeMaker或Apache Velocity模板引擎,你可以很容易地创建基于JSP式...

Global site tag (gtag.js) - Google Analytics