[7u6] RFR (JAXP) : 7157608: One feature is not recognized.

Joe Wang huizhe.wang at oracle.com
Thu Jun 7 22:27:50 UTC 2012


The feature is: http://apache.org/xml/features/standard-uri-conformant

True:      Requires that a URI has to be provided where a URI is expected.
False:      Some invalid URI's are accepted as valid values when a URI 
is expected. Examples include: using platform dependent file separator 
in place of '/'; using Windows/DOS path names like "c:\blah" and 
"\\host\dir\blah"; using invalid URI characters (space, for example).


I'm not sure why it was left out during jdk6 development. The 
implementation code was in the RI except the part that add the feature 
to the recognized list.  It does appear to me a useful feature in cases 
such as when a file with the path generated in the Windows environment 
is provided to the parser.

Since the impl code is in, fixing the issue is basically adding the 
feature to the recognized list as listed below:
webrev: http://cr.openjdk.java.net/~joehw/7u6/7157608/webrev/
copied here:

diff --git 
a/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java 
b/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java
--- a/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java
+++ b/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java
@@ -182,7 +182,8 @@ protected static final String PARSER_SET
                  EXTERNAL_GENERAL_ENTITIES,
                  EXTERNAL_PARAMETER_ENTITIES,
                  ALLOW_JAVA_ENCODINGS,
-                WARN_ON_DUPLICATE_ENTITYDEF
+                WARN_ON_DUPLICATE_ENTITYDEF,
+                STANDARD_URI_CONFORMANT
      };

      /** Feature defaults. */
@@ -192,6 +193,7 @@ protected static final String PARSER_SET
                  Boolean.TRUE,
                  Boolean.TRUE,
                  Boolean.FALSE,
+                Boolean.FALSE
      };


Thanks,
Joe



More information about the core-libs-dev mailing list