在JDK1.4中使用JAXP1.3
由于JDK1.5以上已经自带jaxp了,而jdk1.4以下版本需要自己添加jaxp库文件。
1。下载
因为jwsdp-1.5中带的jaxp是1.26版本,因此需要单独重新下载jaxp
参考:
2.安装:
JAXP_RI_20041025.class所在的目录下,进入命令行,
运行:java -cp . JAXP_RI_20041025
然后屏幕上列出所有解压出来的文件名字。
此时,在当前目录下会有一个叫jaxp-1_3的目录,里面有jaxp的jar文件和api文档。
3.jaxp需要用到的jar为(都在jaxp-1_3目录下):
dom.jar,jaxp-api.jar,sax.jar,xalan.jar,xercesImpl.jar
4.接下来就可以根据自己需要来使用jaxp1.3了
5.由于sun默认使用的解析器是经过其包装后的(基于Xerces version 2.6.0 和 XSLTC version 2.5.2),比如:
com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl(可查看javax.xml.parsers.SAXParserFactory 的源代码),
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl(可查看javax.xml.transform.TransformerFactory 的源代码).
因此在需要使用其它解析器的时候,需要通过设置系统属性值的方式,
或者在$java.home/lib/jaxp.properties进行配置($java.home为System.getProperty("java.home")所得到的路径,具体可以查看javax.xml.parsers.FactoryFinder源代码中的 static Object find(String factoryId, String fallbackClassName) 方法)来选择具体的解析器实现。
jaxp.properties中支持以下属性.
示例文件如下(实际就是jaxp的默认值):
javax.xml.transform.TransformerFactory=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl
javax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl javax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
javax.xml.datatype.DatatypeFactory=com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl
假如需要使用apache的解析器,那么如下操作 。
(均为当前最新版本)
b.解压获得相应的jar文件,放入classpath中。
3.配置jaxp.properties为:
javax.xml.transform.TransformerFactory=org.apache.xalan.xsltc.trax.TransformerFactoryImpl
#也可以使用
#javax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl
javax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl
javax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
javax.xml.datatype.DatatypeFactory=org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl
6.需要关于jaxp的调试信息,设置系统属性jaxp.debug为1即可
System.setProperty("jaxp.debug","1");
或者运行时的命令为: java -Djaxp.debug=1 com.lizongbo.TestJAXP
几篇非常好的资料:
JAXP 专述 Sun 的 Java API for XML 语法分析
JAXP 再述 Sun 的 Java API for XML Parsing,1.1 版
JAXP 1.3 的新特性,第 1 部分
技术综述,考察解析 API 的变化和新的验证 API
| JAXP 1.3 的新特性,第 2 部分 XPath 功能、支持名称空间的工具和其他改进 |
JAXP 全面介绍,第 1 部分
XML 处理工具包使解析和验证变得更容易
Factory模式和Abstract Factory模式
Java中关于XML的API一瞥
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=418679
分享到:
相关推荐
JasperReports遵循Lesser GNU Public License(LGPL),允许在开放源代码或封闭源代码的项目中使用,但对修改后的源代码有特定的发布要求。 JasperReports的主要特点包括: 1. **灵活的报表排版**:它提供了丰富的...
Java是一种广泛使用的面向对象的编程语言,它具有跨平台、面向对象和安全性高等特点。自从1996年正式发布以来,Java经历了多个版本的更新与迭代,每个版本都在语言的特性、性能和标准库方面进行了改进。以下是一些...
- **JDK**:j2sdk1.3 - **Ant**:ant1.4.1 - **XML Parser**:Xalan 2.3.1 - **Xalan XSLT Processor**:Xerces 2.0.1 确保已安装 Ant、Xalan 和 Xerces,并且正确配置了这些工具的路径。 **解压文件**:将 `...
Apache CXF 是一个开源的Java框架,主要用于构建和开发服务导向架构(Service-Oriented Architecture, SOA)和Web服务。本学习笔记旨在提供对Apache CXF的基本理解、...在实践中不断探索,将助你成为CXF的熟练使用者。
itext中关于亚洲编码的类库,在这里用于中文字体的输入。 junit.jar Junit包,当你运行Hibernate自带的测试代码的时候需要,否则就不用。 commons-digester.jar Apache Commons包中的一个,通过它可以很方便的...
它能帮助我们在由大量页面构成的项目中创建一致的页面布局和外观,如一致的导航条,一致的 banner,一致的版权,等等。它不仅仅能处理动态的内容,如jsp,php,asp等产生的内容,它也能处理静态的内容,使得它的内容...
13.2 在jsp中使用javabean 412 13.2.1 [jsp:usebean] 412 13.2.2 [jsp:setproperty] 413 13.2.3 [jsp:getproperty] 414 13.2.4 示例 414 13.3 网上书店程序 418 13.4 小结 440 第14章 jsp开发的两种模型 441 ...
13.2 在jsp中使用javabean 412 13.2.1 [jsp:usebean] 412 13.2.2 [jsp:setproperty] 413 13.2.3 [jsp:getproperty] 414 13.2.4 示例 414 13.3 网上书店程序 418 13.4 小结 440 第14章 jsp开发的两种模型 441 ...
13.2 在jsp中使用javabean 412 13.2.1 [jsp:usebean] 412 13.2.2 [jsp:setproperty] 413 13.2.3 [jsp:getproperty] 414 13.2.4 示例 414 13.3 网上书店程序 418 13.4 小结 440 第14章 jsp开发的两种模型 441 ...
13.2 在jsp中使用javabean 412 13.2.1 [jsp:usebean] 412 13.2.2 [jsp:setproperty] 413 13.2.3 [jsp:getproperty] 414 13.2.4 示例 414 13.3 网上书店程序 418 13.4 小结 440 第14章 jsp开发的两种模型 441 ...
**7.48 在 XML Schema 文档中声明名称空间** - **步骤**: 1. 在 Schema 文件中声明名称空间。 2. 使用声明的名称空间。 #### HTTP 协议 **8.1 什么是 HTTP 协议** - **定义**: HyperText Transfer Protocol,用于...