一直耳闻xsl,可是一直没有使用过,这次由于项目的需要,只好用心好好研究一下,成果如下:
首先,要纠正一下,xsl并不是一种编程语言,它只是一种用来转换xml的语言,这个有点类似我们的Spring的配置文件,是通过对xml语言的解析,来达到我们需要的目的,下面的例子,可以帮助你更好的理解这一点。
环境,在提到一个新的语言,我们一定会有两个疑问,一个是,这个语言的编辑器是什么,这个语言的运行的环境又是什么?对于xsl来讲,它的编辑器就是所有可以编辑xml的编辑器,例如记事本,editplus等等,运行的环境呢,这个更简单,因为在IE5.0以上的版本,都加入了xsl的解析器。好啦,环境,编辑器都解决,下面来介绍一下什么是xsl。
首先要清楚一个问题,我们在访问的时候,其实,访问的是一个xml文件,那么这个文件的解析呢,是交给xsl来完成的,在需要被解析的xml中,会有这个元素告诉浏览器(解析器),解析我的xsl是什么?
1 <?xml-stylesheet type="text/xsl" href="hello.xsl"?>
这个href就是告诉浏览器,解析我的xsl是什么,那么xsl的内容是什么呢
1 <?xml version="1.0" encoding="iso-8859-1"?>
2
3 <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
4
5 <xsl:template match="/">
6
7 <html>
8
9 <head>
10
11 <title>First XSLT example</title>
12
13 </head>
14
15 <body>
16
17 <p><xsl:value-of select="greeting"/></p>
18
19 </body>
20
21 </html>
22
23 </xsl:template>
24
25 </xsl:stylesheet>
看出来了吗,xsl是以<
xsl:stylesheet>标记作为开始和结束的内容,解析的模板为<
xsl:template>
模板里面的内容是不是很熟悉,看到了吧,这个是html的元素,想到了如果用到我们传统的j2EE结构中,该如何与后台进行交互了吗,对了,就是解析这个核心的xml,好啦,这个是后话,现在将整个代码贴出来,运行下,看看效果吧
hello.xml
1 <?xml version="1.0" encoding="iso-8859-1"?>
2
3 <?xml-stylesheet type="text/xsl" href="hello.xsl"?>
4
5 <greeting>Hello, world!</greeting>
hello.xsl
1 <?xml version="1.0" encoding="iso-8859-1"?>
2
3 <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
4
5 <xsl:template match="/">
6
7 <html>
8
9 <head>
10
11 <title>First XSLT example</title>
12
13 </head>
14
15 <body>
16
17 <p><xsl:value-of select="greeting"/></p>
18
19 </body>
20
21 </html>
22
23 </xsl:template>
24
25 </xsl:stylesheet>
26
27