加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XSLT转换器的使用(Xalan和Saxon)

发布时间:2020-12-16 05:59:52 所属栏目:百科 来源:网络整理
导读:原文:http://blog.csdn.net/crystalbruce/article/details/7401602 XSLT分为两类: 1:客户端转换:需要浏览器的支持。 2:服务器转换:需要使用编程将XML根据XSLT文档转换成相应的HTML,在输出到客户端。 服务器转换分为两类: 1:实时转换:当服务器接收

原文: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)方法执行转换。

程序示例:

[html] view plain copy
  1. <%@pagecontentType="text/html;charset="UTF-8"language="java"errorPage=""%>
  2. <%@pageimport="javax.xml.transform.*,javax.xml.transform.stream.*"%>
  3. <%
  4. //创建一个转换工厂
  5. TransformerFactorytFactory=TransformerFactory.newInstance();
  6. //用指定的XSLT样式单文件创建一个转换器
  7. Transformertransformer=tFactory.newTransformer(newStreamSource(application.getRealPath("WEB-INF/")+"/name.xslt"));
  8. //执行转换,并将转换后的目标文档作为响应输出
  9. transformer.transform(newStreamSource(application.getRealPath("WEB-INF/")+"/name.xml"),newStreamResult(response.getOutputStream()));
  10. %>

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规范编程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读