学习笔记——XSLT转换器的使用(Xalan和Saxon)

原创 2012年03月28日 11:01:42

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)

原文:http://blog.csdn.net/crystalbruce/article/details/7401602 XSLT分为两类: 1:客户端转换:需要浏览器的支持。 ...
  • luoww1
  • luoww1
  • 2015年12月25日 14:58
  • 694

saxon XSLT 转换器

saxon  是一款XSLT处理器,用来
  • xiamaocheng
  • xiamaocheng
  • 2014年04月13日 15:30
  • 922

saxon的jar包

  • 2013年03月04日 11:08
  • 1.84MB
  • 下载

Java中进行xslt转换的示例代码

package blog.csdn.net.arui;import java.io.*;import javax.xml.transform.*;import javax.xml.transform....
  • arui319
  • arui319
  • 2008年02月13日 13:51
  • 4761

怎么使用XSLT将 XML文件转化为HTML5的网页

怎么使用XSLT将 XML文件转化为HTML5的网页 在这篇文章中,我将展示怎么使用XSLT语言将 一个 XML 文件输出成HTML5 格式的网络页面. 让我们先看一下如下一个XML格...
  • lzy_168
  • lzy_168
  • 2014年11月07日 13:40
  • 2792

XSLT——XML样式表转换语言

XML样式表转换语言 1. XSLT是XSLTransformations的缩写,它是XSL的一个组成部分。 XSL(EXtensible StyleSheet)由三部分组成: –  XSLT。...
  • liaoqianwen123
  • liaoqianwen123
  • 2014年04月02日 22:42
  • 1918

[XML]学习笔记(八)XSLT

一、XSL(eXtensible Stylesheet Language)扩展样式表语言:主要包含三个部分——XSLT用于XML文档转换,XPath用于在XML文档中导航,XSL-FO用于XML文档格...
  • CristianoJason
  • CristianoJason
  • 2016年05月20日 00:45
  • 4342

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

原文:http://blog.csdn.net/crystalbruce/article/details/7401602 XSLT分为两类: 1:客户端转换:需要浏览器的支持。 ...
  • luoww1
  • luoww1
  • 2015年12月25日 14:58
  • 694

学习笔记——XSLT2.0实用的新功能

2007年1月,W3C发布了XSLT2.0规范,2009年发布了XSLT2.1,XSLT3.0预计今年发布!   分组 函数:node-set current-group():该函数返回分组所包...
  • Crystalbruce
  • Crystalbruce
  • 2012年03月29日 17:39
  • 3097

学习笔记——XSLT创建结果集

XSLT提供了一些元素用于直接创建元素、属性、文本、处理命令和注释等元素。   创建元素   name = { qname }   namespace = { uri-referenc...
  • Crystalbruce
  • Crystalbruce
  • 2012年03月28日 21:36
  • 1082
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习笔记——XSLT转换器的使用(Xalan和Saxon)
举报原因:
原因补充:

(最多只允许输入30个字)