学习笔记——XSLT转换器的使用(Xalan和Saxon) .(转)
轉(zhuǎn)自:http://blog.csdn.net/crystalbruce/article/details/7401602
?
XSLT分為兩類:
1:客戶端轉(zhuǎn)換:需要瀏覽器的支持。
2:服務(wù)器轉(zhuǎn)換:需要使用編程將XML根據(jù)XSLT文檔轉(zhuǎn)換成相應(yīng)的HTML,在輸出到客戶端。
?
服務(wù)器轉(zhuǎn)換分為兩類:
1:實時轉(zhuǎn)換:當(dāng)服務(wù)器接收客戶端請求后,借助于JSP、PHP等動態(tài)腳本語言臨時根據(jù)XSLT轉(zhuǎn)換XML,然后在將轉(zhuǎn)換后的HTML發(fā)送給客戶端。
2:批量轉(zhuǎn)換:服務(wù)器定期轉(zhuǎn)換XML,當(dāng)服務(wù)器接收到請求后直接將已有的HTML發(fā)送給客戶端,適用于XML變化頻率較低的情況。
?
常用的XSLT轉(zhuǎn)換處理器:
1:Xalan:Apache的子項目。網(wǎng)站http://xalan.apache.org
2:Saxon:SourceForge的子項目。網(wǎng)站http://saxon.sourceforge.net
?
Xalan處理器
?
所需包:
xalan.jar:Xalan的核心類庫,需要依賴于serializer.jar。
xercesImpl.jar、xml-apis.jar:Java API for XML Processing(JAXP)的核心類庫。
?
使用方法:
xalan.jar本身就是一個可執(zhí)行的程序。
?
一:在DOS中使用
輸入
java -classpath serializer.jar -jar xalan.jar
命令會輸出xalan.jar的各種選項,以下是常用選項:
-IN:指定需要轉(zhuǎn)換的XML;
-XSL:指定使用的XSLT樣式單,如果在XML文檔中已經(jīng)引入了XSLT,則可省略此項;
-OUT:指定轉(zhuǎn)換后輸出的目標(biāo)文檔。
?
示例:
java -classpath serializer.jar -jar xalan.jar -IN name.xml -OUT.name.html
?
二:使用在Web應(yīng)用中編程方式
主要使用的類和接口如下:
1:TransformerFactory:轉(zhuǎn)換器工廠,負(fù)責(zé)生產(chǎn)轉(zhuǎn)換器;
2:Transformer:XSLT轉(zhuǎn)換器,負(fù)責(zé)加載XSLT樣式單文檔,并執(zhí)行轉(zhuǎn)換;
3:Source:代表源XML文檔的接口,其常用實現(xiàn)類有DOMSource、StreamSource、SAXSource;
4:Result:代表轉(zhuǎn)換結(jié)果的文檔接口,其常用實現(xiàn)類有DOMResult、StreamResult、SAXResult。
?
步驟:
1:使用TransformerFactory的newInstance()方法創(chuàng)建一個轉(zhuǎn)換器工廠;
2:調(diào)用轉(zhuǎn)換器工廠的newTransformer(Source xmlSource)方法創(chuàng)建一個轉(zhuǎn)換器;
3:調(diào)用轉(zhuǎn)換器的transform(Source xmlSource, Result OutputTarget)方法執(zhí)行轉(zhuǎn)換。
?
程序示例:
[html] view plaincopyprint?Saxon處理器
Saxon的功能很強(qiáng)大,其實現(xiàn)了XSLT3.0、XQuery3.0和XPath3.0等規(guī)范。
?
saxon9.jar與此名相似的為核心類庫。
?
其使用方法與Xalan類似。
使用命令:
java -jar saxon9.jar -s:xmlSource.xml -o:outputTarget.html xsl:name.xslt
?
編程方法與Xalan的編程方法一樣,因為都是面向JAXP規(guī)范編程
轉(zhuǎn)載于:https://www.cnblogs.com/qingzhou/p/4205674.html
總結(jié)
以上是生活随笔為你收集整理的学习笔记——XSLT转换器的使用(Xalan和Saxon) .(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 股票买进卖出时间间隔 还要注意这几点
- 下一篇: Android之路-------Acti