原創 乙個XSL的例子

2021-08-22 20:33:54 字數 2369 閱讀 9712

一直耳聞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"

?>23

<

xsl:stylesheet 

xmlns:xsl

="">45

<

xsl:template 

match

="/"

>67

<

html

>89

<

head

>

1011

<

title

>

first xslt example

title

>

1213

head

>

1415

<

body

>

1617

<

p><

xsl:value-of 

select

="greeting"

/>

p>

1819

body

>

2021

html

>

2223

xsl:template

>

2425

xsl:stylesheet

>

看出來了嗎,xsl是以stylesheet>標記作為開始和結束的內容,解析的模板為

模板裡面的內容是不是很熟悉,看到了吧,這個是html的元素,想到了如果用到我們傳統的j2ee結構中,該如何與後台進行互動了嗎,對了,就是解析這個核心的xml,好啦,這個是後話,現在將整個**貼出來,執行下,看看效果吧

hello.xml 1

<?

xml version="1.0" encoding="iso-8859-1"

?>23

<?

xml-stylesheet type="text/xsl" href="hello.xsl"

?>45

<

greeting

>

hello, world!

greeting

>

hello.xsl

1<?

xml version="1.0" encoding="iso-8859-1"

?>23

<

xsl:stylesheet 

xmlns:xsl

="">45

<

xsl:template 

match

="/"

>67

<

html

>89

<

head

>

1011

<

title

>

first xslt example

title

>

1213

head

>

1415

<

body

>

1617

<

p><

xsl:value-of 

select

="greeting"

/>

p>

1819

body

>

2021

html

>

2223

xsl:template

>

2425

xsl:stylesheet

>

2627

乙個struts spring的例子

第乙個struts spring的例子 呵呵剛學spring 寫還望各位大蝦指教!配置struts就不用說了吧,如果用myeclipse直接add一下就可以了.接下來就來配置讓它支援spring 可 一,新建專案後,開啟struts confing.xml在後面加人下面 簡單吧!二然後就開始寫我們的...

乙個sql的例子

select dbo.userinfo.username,dbo.userinfo.usertruename,dbo.userinfo.useremail,dbo.userinfo.usermobile,dbo.userinfo.usertelephone,dbo.userinfo.usercar,...

乙個API HOOK的例子

乙個api hook的例子 2010年07月20日 include include 執行緒操作api hinstance hinst 任務例項id hwnd mainfrmhwnd 主視窗控制代碼 hfont globalfont 字型 typedef struct remoteparam 視窗類名...