JavaTM API for XML Processing Release Notes
Reference Implementation (RI) Version: 1.4.2
May 30, 2007
JAXP 1.4.2 is the second patch release for JAXP 1.4 FCS which was released on Oct. 31, 2006. Since then, there have been many bugs and issues filed against JAXP 1.4, JDK 6.0 or SJSXP. This release therefore, covers not only changes and fixes in JAXP sources, but also those made in SJSXP and ported into JAXP. Moreover, it includes all the fixes already released as part of JAXP 1.4.1.
The JAXP 1.4 release corresponded to the Java SE 6.0 release. The JAXP 1.4 FCS build image contains the same code as that in Java SE 6.0. As changes are made to the JAXP code, some of the important changes have been integrated into the futher updates for Java SE 6.
Fixes/changes and known issues
- Missing classes when running JAXP 1.4.1 RI on JDK 1.4
A few missing classes in JAXP 1.4.1 RI prevented its use on JDK 1.4. For example, trying to using XPath in 1.4.1 on top of JDK 1.4.2, resulted in the following exception:
On JDK 5.0, these classes were loaded from the JRE library, so no errors were reported. The JAXP 1.4.2 RI release should resolve all the NoClassDefFoundErrors reported with JAXP 1.4.1.
java.lang.NoClassDefFoundError: com/sun/org/apache/xalan/internal/extensions/ExpressionContext at com.sun.org.apache.xpath.internal.jaxp.XPathImpl.eval(XPathImpl.java: 201) at com.sun.org.apache.xpath.internal.jaxp.XPathImpl.evaluate(XPathImpl.java: 275) ...
- Validating DOM level 1 documents
A regression was introduced into JAXP 1.4 and Java SE 6.0 in that a DOM generated by code from a DocumentBuilder using DOM level 1 methods (createElement, etc) fails validation against an XML schema. A Document created of a simple file without setting NamespaceAware to true on DocumentBuilderFactory will also fail validation as discussed in Santiago Pericas-Geertsen's Blog. This issue has been reported in 6531160 and fixed in this release.
- There are two known issues with support for the SAX
EntityResolver2 interface in JAXP.
- Bug 6524042: Calls to the resolveEntity() method sometimes fail to report the name of the entity being resolved. The public and system identifiers and the base URI are reported correctly.
- Bug 6524460: The getExternalSubset() method is not called if the document has no document type declaration.
These bugs will be fixed in a future release.
- Known issue: XMLStreamReader close the underlying stream at the end of parsing
Refer to Bug 6539065. Our current decision is to maintain the behavior since it is compatible with other implementations. Furthermore, changing it risks breaking applications that have developed dependence upon the reader to close the stream. To work around the issue, override the close() method as suggested in the bug report.
- For all changes and fixes made in the JAXP 1.4.2 release,
please refer to:
The JAXP 1.4.2 Change Log