JAXP JEP: Update Xerces implementation in the JDK
huizhe.wang at oracle.com
Mon Feb 3 23:31:31 UTC 2014
Thanks Martijn, Mario and Sean for the comments and Alan for the
The Xerces implementation has forked mainly in the following areas:
The JDK StAX implementation shared the same scanner with that of
SAX/DOM parsers. This part of code has been significantly modified.
2. JDK specific requirement
As Alan already commented, the original Xerces implementation was
not designed to be on the boot class path. There are therefore changes
that are specific to meet the JDK's requirement. We do share the
improvement, but the eventual changes in Xerces were made by the Xerces
team and may be different.
3. JDK support
Yes, Xerces still supports JDK 1.4. JAXP and JAXP in JDK however no
longer supported JDK 1.4 since 2009, that allowed us to have introduced
changes that used features from JDK 5.
JAXP 1.6/JDK8 and later are now at source level JDK 6 and above
since the ServiceLoader was introduced in JDK 6.
It is desirable to get the sources in sync. As Alan said, this update
is a good step towards that goal. JAXP 1.6/JEP 162 and JDK9 provide
opportunity for us to look further. We shall keep in this in mind in any
On 2/3/2014 2:08 PM, Sean Mullan wrote:
> On 02/03/2014 02:19 PM, huizhe wang wrote:
>> The JDK contains an older Xerces implementation, version 2.7.1.
>> Although there were
>> updates in JDK 7 to bring in some changes, we did not bring it
>> completely up to date
>> to any later release. The goal of this JEP is to complete the update
>> and bring the JDK
>> to Xerces' latest release, 2.11.0.
> Xerces 2.11.0 supports JDK 1.4.2 (!) and up. I am curious if you
> intend to avoid using newer language features or APIs in the JDK
> implementation so that you can stay closely in-sync and integrate
> future updates more easily?
More information about the core-libs-dev