JAXP - Java APIs for XML Processing (0分)

Y

yysun

Unregistered / Unconfirmed
GUEST, unregistred user!
本来聊 JBuilder 5 的新功能的
New Features: http://www.borland.com/jbuilder/jb5/newfeatures.html
后来被改成讲 JAXP 的故事了,所以标题也改了吧。
 
JAXP好像是刚出来的东东,
一直找不到这方面的资料,
能不能请yysun提供一些?
 
这个故事说来话长了。
XML 处理一直是 Java 的重要应用领域(所谓 XML 处理一般包括:DOM, SAX 和 XSLT)。
IBM 以前开发了 XML4J,后来转给了 Apache,由 Apache 发展成为了 xerces。
xerces 中包括了do
M, SAX 处理器。Apache 还另外开发了 XSLT 处理器,称为 Xalan。
Sun 也有自己的 XML 计划, 好象叫 project x,产品是 Crimson。
Crimson 中包括do
M, SAX,但没有do
M2, SAX2,也没有 XSLT。
Sun 喜欢玩的是“标准+实现”(specification+implementation) 的游戏。
还记得 Servlet 和 JSP 吗?开始的时候由 Sun 研发 JSDK 和 JSWDK。
看看时候差不多了,Sun 把 JSWDK 送给了 Apache,由 Apache 发展出了 Tomcat。
而 Sun 控制着“标准”的制定,JSP 1.3, Servlet 2.3。Tomcat 也好,JRun 也好
都是“实现”,必须遵守“标准”的制约。
目前 XML 处理技术已经基本成熟,Sun 又把 Crimson 送给了 Apache,由 Apache
去发展具体的“实现”。而 Sun 抛出了 XML 处理的“标准”- JAXP。
所以,JAXP 是 处理 XML 的 Java API 标准,目前是 1.1。
而 JAXP 目前的具体实现则是 Crimson + Xalan。
Apache 计划把在目前的 xerces 和 Crimson 的基础上,搞一个 xerces 2。
很有可能成为最权威的 JAXP 实现产品,就象现在 Tomcat 是最权威的 JSP/Servlet
实现产品一样。
这种做法是强强联合、借助 Open Source,垄断行业标准、排挤弱小对手的狠着。
我以前早就提过。回头为do
M4J, JDOM 等一批 Java XML 处理器想想,还会有出路吗?
 
孙老师,我也下载了JAXP的SUN官方文档,
看来看去都是一些类和函数,
全然不知是什么东西,本想好好了解一下
是什么样的东东,但是大受打击。
如果按您的说法,JAXP是不是开发XML处理器的
类和函数呢?那么用Java开发XML处理器就必须
用这个JAXP了。
另外,用JAXP开发,需不需要外加一个什么包的?
比如开发Servlet的话,要加servlet.jar
 
DOM 的功能由 org.w3c.dom 包提供,SAX 的功能由 org.xml.sax。
XML 处理器 xerces 提供了这些包,Crimson 或者其他 parser 也提供这些包。
到底选用使用哪个 XML 处理器,则可以通过 JAXP 来配置 (通过系统属性文件)。
JAXP是您的程序与 XML Parser 之间的一层东西,它的两个类 SAXParserFactory 和do
cumentBuilderFactory
根据系统配置,如果您设定使用 xerces,则返回 xerces 中的 SAXParser/DocumentBuilder 类,
如果您设定使用 Crimson,则返回 Crimson 中的 SAXParser/DocumentBuilder 类,
同理,通过 JAXP 中的 javax.xml.transform 类可以选用不同的 XSLT 处理器。
所以,JAXP (jaxp.jar) 就是一些启动 XML 处理器的类,而并不是 XML 处理器。
目前 JAXP 将缺省地调用 Crimson 作为 SAX 和do
M 处理器,Xalan 作为缺省的 XSLT 处理器。
当然您可以配置选用其他的 XML 处理器,例如do
M4J。
这里是 JAXP 的教程:http://java.sun.com/xml/tutorial_intro.html
 
孙老师,我已经编译了关于JAXP的文件,是
它自带的例子,但是我不知如何继续,
请帮我看一下:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=539768
 
接受答案了.
 

Similar threads

D
回复
0
查看
528
DelphiTeacher的专栏
D
D
回复
0
查看
564
DelphiTeacher的专栏
D
D
回复
0
查看
706
DelphiTeacher的专栏
D
顶部