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>
</body>
</html>