XSLT转换器的使用(Xalan和Saxon)
来源:互联网 发布:xp禁止安装任何软件 编辑:程序博客网 时间:2024/05/29 03:23
原文:http://blog.csdn.net/crystalbruce/article/details/7401602
XSLT分为两类:
1:客户端转换:需要浏览器的支持。
2:服务器转换:需要使用编程将XML根据XSLT文档转换成相应的HTML,在输出到客户端。
服务器转换分为两类:
1:实时转换:当服务器接收客户端请求后,借助于JSP、PHP等动态脚本语言临时根据XSLT转换XML,然后在将转换后的HTML发送给客户端。
2:批量转换:服务器定期转换XML,当服务器接收到请求后直接将已有的HTML发送给客户端,适用于XML变化频率较低的情况。
常用的XSLT转换处理器:
1:Xalan:Apache的子项目。网站http://xalan.apache.org
2:Saxon:SourceForge的子项目。网站http://saxon.sourceforge.net
Xalan处理器
所需包:
xalan.jar:Xalan的核心类库,需要依赖于serializer.jar。
xercesImpl.jar、xml-apis.jar:Java API for XML Processing(JAXP)的核心类库。
使用方法:
xalan.jar本身就是一个可执行的程序。
一:在DOS中使用
输入
java -classpath serializer.jar -jar xalan.jar
命令会输出xalan.jar的各种选项,以下是常用选项:
-IN:指定需要转换的XML;
-XSL:指定使用的XSLT样式单,如果在XML文档中已经引入了XSLT,则可省略此项;
-OUT:指定转换后输出的目标文档。
示例:
java -classpath serializer.jar -jar xalan.jar -IN name.xml -OUT.name.html
二:使用在Web应用中编程方式
主要使用的类和接口如下:
1:TransformerFactory:转换器工厂,负责生产转换器;
2:Transformer:XSLT转换器,负责加载XSLT样式单文档,并执行转换;
3:Source:代表源XML文档的接口,其常用实现类有DOMSource、StreamSource、SAXSource;
4:Result:代表转换结果的文档接口,其常用实现类有DOMResult、StreamResult、SAXResult。
步骤:
1:使用TransformerFactory的newInstance()方法创建一个转换器工厂;
2:调用转换器工厂的newTransformer(Source xmlSource)方法创建一个转换器;
3:调用转换器的transform(Source xmlSource, Result OutputTarget)方法执行转换。
程序示例:
- <%@ page contentType="text/html; charset="UTF-8" language="java" errorPage="" %>
- <%@ page import="javax.xml.transform.*, javax.xml.transform.stream.*" %>
- <%
- //创建一个转换工厂
- TransformerFactory tFactory = TransformerFactory.newInstance();
- //用指定的XSLT样式单文件创建一个转换器
- Transformer transformer = tFactory.newTransformer(new StreamSource(application.getRealPath("WEB-INF/") + "/name.xslt"));
- //执行转换,并将转换后的目标文档作为响应输出
- transformer.transform(new StreamSource(application.getRealPath("WEB-INF/") + "/name.xml"), new StreamResult(response.getOutputStream()));
- %>
Saxon处理器
Saxon的功能很强大,其实现了XSLT3.0、XQuery3.0和XPath3.0等规范。
saxon9.jar与此名相似的为核心类库。
其使用方法与Xalan类似。
使用命令:
java -jar saxon9.jar -s:xmlSource.xml -o:outputTarget.html xsl:name.xslt
编程方法与Xalan的编程方法一样,因为都是面向JAXP规范编程。
- XSLT转换器的使用(Xalan和Saxon)
- 学习笔记——XSLT转换器的使用(Xalan和Saxon)
- saxon XSLT 转换器
- Saxon - XSLT与XQuery处理器
- XSLT常见问题(三)XSLT中attribute的使用
- XML+XSLT+xalan-j+svg生成地图
- XSLT转换器实现
- JSF--转换器的使用和自定义
- XSLT数据转换器有人会做吧 最好是基于C#的
- HttpMessageConverter(消息转换器 )和@responsebody使用
- HttpMessageConverter(消息转换器 )和@responsebody使用
- xalan
- 同时使用 xml, schema 和 xslt 的例子
- 使用Java和XSLT的10条技巧 (转)
- ConvertUtils转换器的使用
- JSF转换器的使用
- VS2005(VC8)编译Xalan-C_1_10_0(更好的方法)
- XSLT常见问题(二)XSLT中变量的使用(variable)
- casperjs页面抓取问题
- VC编译选项 /EHa 异常处理
- memcached 安装
- Swift中的基础知识总结(二)
- Silverlight学习点滴之二——为RadioButton换上新衣
- XSLT转换器的使用(Xalan和Saxon)
- ArrayList 排序
- sql索引的填充因子多少最好,填充因子有什么用
- Android获取本地系统时间
- Linux C编程--main函数参数解析
- Node.js的原型继承函数util.inherits + 开发框架Express4.x
- MySQL学习【2】MySQL命令行操作
- HDU-1018-Big Number
- Android中关于pull解析xml