一直耳聞xsl,可是一直沒有使用過,這次由于項(xiàng)目的需要,只好用心好好研究一下,成果如下:
首先,要糾正一下,xsl并不是一種編程語言,它只是一種用來轉(zhuǎn)換xml的語言,這個(gè)有點(diǎn)類似我們的Spring的配置文件,是通過對xml語言的解析,來達(dá)到我們需要的目的,下面的例子,可以幫助你更好的理解這一點(diǎn)。
環(huán)境,在提到一個(gè)新的語言,我們一定會(huì)有兩個(gè)疑問,一個(gè)是,這個(gè)語言的編輯器是什么,這個(gè)語言的運(yùn)行的環(huán)境又是什么?對于xsl來講,它的編輯器就是所有可以編輯xml的編輯器,例如記事本,editplus等等,運(yùn)行的環(huán)境呢,這個(gè)更簡單,因?yàn)樵贗E5.0以上的版本,都加入了xsl的解析器。好啦,環(huán)境,編輯器都解決,下面來介紹一下什么是xsl。
首先要清楚一個(gè)問題,我們在訪問的時(shí)候,其實(shí),訪問的是一個(gè)xml文件,那么這個(gè)文件的解析呢,是交給xsl來完成的,在需要被解析的xml中,會(huì)有這個(gè)元素告訴瀏覽器(解析器),解析我的xsl是什么?
模板里面的內(nèi)容是不是很熟悉,看到了吧,這個(gè)是html的元素,想到了如果用到我們傳統(tǒng)的j2EE結(jié)構(gòu)中,該如何與后臺(tái)進(jìn)行交互了嗎,對了,就是解析這個(gè)核心的xml,好啦,這個(gè)是后話,現(xiàn)在將整個(gè)代碼貼出來,運(yùn)行下,看看效果吧
hello.xml
首先,要糾正一下,xsl并不是一種編程語言,它只是一種用來轉(zhuǎn)換xml的語言,這個(gè)有點(diǎn)類似我們的Spring的配置文件,是通過對xml語言的解析,來達(dá)到我們需要的目的,下面的例子,可以幫助你更好的理解這一點(diǎn)。
環(huán)境,在提到一個(gè)新的語言,我們一定會(huì)有兩個(gè)疑問,一個(gè)是,這個(gè)語言的編輯器是什么,這個(gè)語言的運(yùn)行的環(huán)境又是什么?對于xsl來講,它的編輯器就是所有可以編輯xml的編輯器,例如記事本,editplus等等,運(yùn)行的環(huán)境呢,這個(gè)更簡單,因?yàn)樵贗E5.0以上的版本,都加入了xsl的解析器。好啦,環(huán)境,編輯器都解決,下面來介紹一下什么是xsl。
首先要清楚一個(gè)問題,我們在訪問的時(shí)候,其實(shí),訪問的是一個(gè)xml文件,那么這個(gè)文件的解析呢,是交給xsl來完成的,在需要被解析的xml中,會(huì)有這個(gè)元素告訴瀏覽器(解析器),解析我的xsl是什么?
1 <?xml-stylesheet type="text/xsl" href="hello.xsl"?>
這個(gè)href就是告訴瀏覽器,解析我的xsl是什么,那么xsl的內(nèi)容是什么呢 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>標(biāo)記作為開始和結(jié)束的內(nèi)容,解析的模板為<xsl:template>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>
模板里面的內(nèi)容是不是很熟悉,看到了吧,這個(gè)是html的元素,想到了如果用到我們傳統(tǒng)的j2EE結(jié)構(gòu)中,該如何與后臺(tái)進(jìn)行交互了嗎,對了,就是解析這個(gè)核心的xml,好啦,這個(gè)是后話,現(xiàn)在將整個(gè)代碼貼出來,運(yùn)行下,看看效果吧
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.xsl2
3 <?xml-stylesheet type="text/xsl" href="hello.xsl"?>
4
5 <greeting>Hello, world!</greeting>
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
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