这个故事说来话长了。
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 处理器想想,还会有出路吗?