选择显示字体大小

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

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

1.javascript解决方案

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

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

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

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

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

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


2.一个具体的实例

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

<?xml version="1.0" encoding="iso8859-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>

.

.

.

下面是完整的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>

<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样式表,还没有被转换成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文件中。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons