JDK-8011653: Upgrade to JAXP 1.5

Daniel Fuchs daniel.fuchs at oracle.com
Fri May 3 17:13:29 UTC 2013

Hi Joe,

I am not a JAXP expert - so I've been discovering most
of this code as I read it. It would be impossible for me
to assess whether there's some setFeature or setProperty
missing somewhere for instance. So with my limited
knowledge I have only these few remarks:


1. XalanConstants.java: javadoc ORACLE_FEATURE_SERVICE_MECHANISM:

"instructs the implementation to use service mechanism to find 

That sounds a bit cryptic to my ears. Would something like:

   "true:  instruct an object to use service mechanism to
           find a service implementation"

   "false: instruct an object to skip service mechanism and
           use the default implementation for that service"

work better? (disclaimer: I am not a native English speaker.)



  773         //JAXP 1.5 properties
  774         if 
(propertyId.startsWith(Constants.JAXPAPI_PROPERTY_PREFIX)) {
  775             if (propertyId.equals(ACCESS_EXTERNAL_DTD))
  776             {
  777                 fAccessExternalDTD = (String)value;
  778             }
  779         }

The first line (startsWith(...) seems useless.
When I saw this lines of code - I first thought there was a
bug - expecting ACCESS_EXTERNAL_DTD to be a suffix like
in the lines just before.


3. Same remark than 2. with:

(lines 1643-1650)


4. same class as above: what is the story with this
    "Zephyr feature ignore-external-dtd" ?

   Namely I'm puzzled as to why in one case we check only
   the Zephyr feature, and in another case we check only the
   Xerces feature.

   Shouldn't both be checked?

   I mean - are we sure that nobody can call something like:

       PropertyManager propertyManager = ...;
       propertyManager.setFeature(LOAD_EXTERNAL_DTD, false);


-- daniel

More information about the core-libs-dev mailing list