XSL简明教程(3)在客户端的实现

2016-02-19 18:36 5 1 收藏

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的XSL简明教程(3)在客户端的实现,过去的都会过去,迎接崭新的开始,释放更美好的自己。

【 tulaoshi.com - Web开发 】

三. XSL--在客户端的实现

1.JavaScript解决方案

在上面的章节中我们已经解释了XSL是如何将XML转换成HTML文件。方法就是在XML文档的头部加入一个XSL信息,然后让浏览器执行转换过程。

这种方法在大部分情况下都做得很好,但是在不支持XML的浏览器中就无法正确显示了。

一个更好的更全面的解决方案是使用Javascript来实现XML到HTML的转换。但是使用JavaScript必须得到以下功能支持:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

a.允许Javascript代替浏览器进行细节检测;

b.根据不同的需要和不同的浏览器使用不同的。

对于XSL来说这是完全可行的。设计XSL的目标之一就是允许将一种格式转换成另一种格式,支持不同的浏览器,支持不同的用户需求。未来的浏览器的重要任务就是在客户端执行XSL的转换工作。

2.一个具体的实例

下面是我们上面提到的一个XML文档(cd_catalog.xml)例子的部分代码:

?xml version="1.0" encoding="ISO8859-1" ?

CATALOG

CD

TITLEEmpire Burlesque/TITLE

ARTISTBob Dylan/ARTIST

COUNTRYUSA/COUNTRY

COMPANYColumbia/COMPANY

PRICE10.90/PRICE

YEAR1985/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

thTitle/th

thArtist/th

/tr

xsl:for-each select="CATALOG/CD"

tr

tdxsl:value-of select="TITLE"//td

tdxsl: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文件中。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

来源:http://www.tulaoshi.com/n/20160219/1618292.html

延伸阅读
技巧:如果每次只显示一条记录,还可以用记录集移动的方法: <xml id="oXML" <forums <forum <name[FLASH技术交流]</name <moderator <![CDATA[版主:赢点儿 chenye_1976 holybozo laiy.net]]</moderator <description <![CDATA[新手请尽管提问,老手尽管来切磋,让学习和帮助都成为一种乐趣。]] </descr...
标签: Web开发
    最近一直在开发Ajax应用程序。众所周知Ajax的特点是客户端和服务器分离,客户端通常由纯Javascript组成,通过XMLHttpRequest对象与服务器通信。在调试客户端代码时,如果服务器开在本地,尚可通过samba等方式直接编辑服务器上的客户端js代码,倘若服务器在异地,那么每次修改js代码后通过FTP等方式上传之后再调试就十分费事...
标签: Java JAVA基础
  一、 什么是JSP JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,其网址为http://www.javasoft.com/products/jsp。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的...
标签: Web开发
最近一直在开发Ajax应用程序。众所周知Ajax的特点是客户端和服务器分离,客户端通常由纯Javascript组成,通过XMLHttpRequest对象与服务器通信。在调试客户端代码时,如果服务器开在本地,尚可通过samba等方式直接编辑服务器上的客户端js代码,倘若服务器在异地,那么每次修改js代码后通过FTP等方式上传之后再调试就十分费事。说到这里自然会...
易信电脑客户端注册教程 先说明下哈,西西小编所说的"易信电脑客户端"指的是通过安卓模拟器在pc上运行的易信,并不是官方发布的易信pc版,下边来教大家使用安卓模拟器运行易信的注册方法! 易信电脑客户端注册教程: 1.安装易信电脑客户端 很简单的哈,下载易信apk文件,选择在安卓模拟器中打开就可以自动安装了...

经验教程

146

收藏

43
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部