xslt轻松入门第二章:xslt的实例(2)

作者:未知 来源:未知 添加时间:2006年7月3日 字体:

2.2 一个实例



现在我们来看一个简单的xslt实际应用例子,获得一些感官上的认识。很多网页设计师看到类似html的代码才会放心,代码是那样的亲切和熟悉。


例子1: "hello, world!"

hello world作为第一个教程已经是程序语言中的惯例了。我们也遵守这个惯例,看看如何利用xslt来显示"hello world"。虽然这个例子没有什么实际用途,但是请大家不要急,后面还有更详细的例子。

第一步:建立要输入xml文档hello.xml。


<@xml version="1.0" encoding="iso-8859-1"@>

<greeting>hello, world!</greeting>


这是一个很简单xml文档,只包含一个节点的xml结构树。

第二步:建立xslt文档hello.xsl。提示:默认的xslt文件的后缀名为.xsl。


<@xml version="1.0" encoding="iso-8859-1"@>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/tr/wd-xsl">

<xsl:template match="/">

<html>

<head>

<title>first xslt example</title>

</head>

<body>

<p><xsl:&#118alue-of select="greeting"/></p>

</body>

</html>

</xsl:template>

</xsl:stylesheet>


你现在可以用ie5.0以上版本浏览器打开这个hello.xsl文件,看到xsl的结构树。

第三步:在xml中调用这个xsl文件。修改hello.xml的代码为:


<@xml version="1.0" encoding="iso-8859-1"@>

<@xml-stylesheet type="text/xsl" href="/1fanwencom/hello.xsl"@>

<greeting>hello, world!</greeting>


ok,到这一步原理上已经完成了所有的代码,接下来只要用一个xslt的处理器(xml processor)来执行hello.xml就可以看到"hello 
world"的显示结果了。流行的处理器软件有以下几种:

(1).james clark的xt。下载网址:http://www.jclark.com/xml/xt.html

(2).ibm的xml for java软件包,名为lotusxsl。下载网址:www.alphaworks.ibm.com/tech/xml4j

(3).saxon。下载网址:http://www.wrox.com

(4).微软的msxml3。下载网址:http://www.microsoft.com/xml


有网友要问,我想在浏览器中看到"hello world"的效果应该怎么做?在微软的ie5.5内嵌了msxml3解释器,你可以用ie5.5打开hello.xml文件,就可以看到结果。如果只看到xml结构树,不是单独的"hello 
world"字样,说明你的浏览器没有安装msxml3版本。

如果没有安装又想看效果怎么办?那还是用我们在xml教程中的老办法,采用js实现。(这已经超出了本文要讲的范围,但为了更加直观,便于理解,我们在这里提供实例代码。)下面是一种实现的代码,可以保存为hello.htm,和上面的hello.xml,hello.xsl放在同一目录下面。最后用ie5.0以上版本打开hello.htm就可以看到效果了。


<html>

<head>

<script language="&#106avascript" for="window" event="onload">

var xmldoc = new activexobject("microsoft.xmldom");

xmldoc.async="false";

xmldoc.load("hello.xml");

nodes = xmldoc.documentelement.childnodes;

greeting.innertext = nodes.item(0).text;

</script>

<title>first xslt example</title>

</head>

<body bgcolor="#ffffff">

<span id="greeting"></span><br>

</body>

</html>

ppdesk