You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-dev@xerces.apache.org by ji...@apache.org on 2004/04/23 20:07:53 UTC

[jira] Closed: (XERCESJ-902) DOMConfiguration names should not be case-sensitive

Message:

   The following issue has been closed.

   Resolver: Michael Glavassevich
       Date: Fri, 23 Apr 2004 11:06 AM

Closed as per state in Bugzilla.
---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/XERCESJ-902

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: XERCESJ-902
    Summary: DOMConfiguration names should not be case-sensitive
       Type: Bug

     Status: Closed
 Resolution: FIXED

    Project: Xerces2-J
 Components: 
             DOM
   Versions:
             2.6.2

   Assignee: Michael Glavassevich
   Reporter: Naela Nissar

    Created: Fri, 27 Feb 2004 9:31 PM
    Updated: Fri, 23 Apr 2004 11:06 AM
Environment: Operating System: Other
Platform: Other

Description:
Spec states DOMConfiguration names are case-insensitive [1].  Xerces currently 
treats these as case sensitive.  Requires calling equalsIgnoreCase instead of 
equals in setParameter, canSetParameter, and getParameter methods in 
DOMConfigurationImpl 

[1] http://www.w3.org/2004/01/CR-DOM-Level-3-Core-
20040108/core#DOMConfiguration  

Proposed patch to DOMConfigurationImpl

--- C:\xml-xerces\java\src\org\apache\xerces\dom\DOMConfigurationImpl.java  
2004-02-27 15:17:13 -0500   1.24
+++ C:\xerces-temp\DOMConfigurationImpl.java      2004-02-27 15:00:00. -0500

@@ -515,11 +515,11 @@
                if(value instanceof Boolean){
                        boolean state = ((Boolean)value).booleanValue();

-            if (name.equals(Constants.DOM_COMMENTS)) {
+            if (name.equalsIgnoreCase(Constants.DOM_COMMENTS)) {
                 features = (short) (state ? features | COMMENTS : features & 
~COMMENTS);

             }
-            else if (name.equals(Constants.DOM_DATATYPE_NORMALIZATION)) {
+            else if (name.equalsIgnoreCase
(Constants.DOM_DATATYPE_NORMALIZATION)) {
                 setFeature(NORMALIZE_DATA, state);
                 features =
                     (short) (state ? features | DTNORMALIZATION : features & 
~DTNORMALIZATION);
@@ -527,25 +527,25 @@
                     features = (short) (features | VALIDATE);
                 }
             }
-            else if (name.equals(Constants.DOM_NAMESPACES)) {
+            else if (name.equalsIgnoreCase(Constants.DOM_NAMESPACES)) {
                 features = (short) (state ? features | NAMESPACES : features & 
~NAMESPACES);
             }
-            else if (name.equals(Constants.DOM_CDATA_SECTIONS)) {
+            else if (name.equalsIgnoreCase(Constants.DOM_CDATA_SECTIONS)) {
                 features = (short) (state ? features | CDATA : features & 
~CDATA);
             }
-            else if (name.equals(Constants.DOM_ENTITIES)) {
+            else if (name.equalsIgnoreCase(Constants.DOM_ENTITIES)) {
                 features = (short) (state ? features | ENTITIES : features & 
~ENTITIES);
             }
-            else if (name.equals(Constants.DOM_SPLIT_CDATA)) {
+            else if (name.equalsIgnoreCase(Constants.DOM_SPLIT_CDATA)) {
                 features = (short) (state ? features | SPLITCDATA : features & 
~SPLITCDATA);
             }
-            else if (name.equals(Constants.DOM_VALIDATE)) {
+            else if (name.equalsIgnoreCase(Constants.DOM_VALIDATE)) {
                 features = (short) (state ? features | VALIDATE : features & 
~VALIDATE);
             }
-            else if (name.equals(Constants.DOM_WELLFORMED)) {
+            else if (name.equalsIgnoreCase(Constants.DOM_WELLFORMED)) {
                 features = (short) (state ? features | WELLFORMED : features & 
~WELLFORMED );
             }
-            else if (name.equals(Constants.DOM_INFOSET)) {
+            else if (name.equalsIgnoreCase(Constants.DOM_INFOSET)) {
                 // Setting to false has no effect.
                 if (state) {
                     features = (short) (features | INFOSET_TRUE_PARAMS);
@@ -553,10 +553,10 @@
                     setFeature(NORMALIZE_DATA, false);
                 }
             }
-            else if (name.equals(Constants.DOM_NORMALIZE_CHARACTERS)
-                    || name.equals(Constants.DOM_CANONICAL_FORM)
-                    || name.equals(Constants.DOM_VALIDATE_IF_SCHEMA)
-                    || name.equals(Constants.DOM_CHECK_CHAR_NORMALIZATION)
+            else if (name.equalsIgnoreCase(Constants.DOM_NORMALIZE_CHARACTERS)
+                    || name.equalsIgnoreCase(Constants.DOM_CANONICAL_FORM)
+                    || name.equalsIgnoreCase(Constants.DOM_VALIDATE_IF_SCHEMA)
+                    || name.equalsIgnoreCase
(Constants.DOM_CHECK_CHAR_NORMALIZATION)
                     ) {
                 if (state) { // true is not supported
                     String msg =
@@ -567,8 +567,8 @@
                     throw new DOMException(DOMException.NOT_SUPPORTED_ERR, 
msg);
                 }
             }
-            else if (name.equals(Constants.DOM_NAMESPACE_DECLARATIONS)
-                    || name.equals(Constants.DOM_ELEMENT_CONTENT_WHITESPACE)) {
+            else if (name.equalsIgnoreCase
(Constants.DOM_NAMESPACE_DECLARATIONS)
+                    || name.equalsIgnoreCase
(Constants.DOM_ELEMENT_CONTENT_WHITESPACE)) {
                 if (!state) { // false is not supported
                     String msg =
                         DOMMessageFormatter.formatMessage(
@@ -605,7 +605,7 @@
             }
         }
         else { // set properties
-            if (name.equals(Constants.DOM_ERROR_HANDLER)) {
+            if (name.equalsIgnoreCase(Constants.DOM_ERROR_HANDLER)) {
                 if (value instanceof DOMErrorHandler) {
                     fErrorHandlerWrapper.setErrorHandler((DOMErrorHandler)
value);
                     setErrorHandler(fErrorHandlerWrapper);
@@ -639,7 +639,7 @@
                 }

             }
-            else if (name.equals(Constants.DOM_SCHEMA_LOCATION)) {
+            else if (name.equalsIgnoreCase(Constants.DOM_SCHEMA_LOCATION)) {
                 if (value instanceof String) {
                     try {
                         String schemaType = (String) getProperty(
@@ -675,7 +675,7 @@
                 }

             }
-            else if (name.equals(Constants.DOM_SCHEMA_TYPE)) {
+            else if (name.equalsIgnoreCase(Constants.DOM_SCHEMA_TYPE)) {
                 // REVISIT: should null value be supported?
                 if (value instanceof String) {
                     try {
@@ -760,38 +760,38 @@
                // REVISIT: Recognizes DOM L3 default features only.
                //          Does not yet recognize Xerces features.

-               if (name.equals(Constants.DOM_COMMENTS)) {
+               if (name.equalsIgnoreCase(Constants.DOM_COMMENTS)) {
                        return ((features & COMMENTS) != 0) ? Boolean.TRUE : 
Boolean.FALSE;
                }
-               else if (name.equals(Constants.DOM_NAMESPACES)) {
+               else if (name.equalsIgnoreCase(Constants.DOM_NAMESPACES)) {
                        return (features & NAMESPACES) != 0 ? Boolean.TRUE : 
Boolean.FALSE;
                }
-               else if (name.equals(Constants.DOM_DATATYPE_NORMALIZATION)) {
+               else if (name.equalsIgnoreCase
(Constants.DOM_DATATYPE_NORMALIZATION)) {
                        // REVISIT: datatype-normalization only takes effect if 
validation is on
                        return (features & DTNORMALIZATION) != 0 ? 
Boolean.TRUE : Boolean.FALSE;
                }
-               else if (name.equals(Constants.DOM_CDATA_SECTIONS)) {
+               else if (name.equalsIgnoreCase(Constants.DOM_CDATA_SECTIONS)) {
                        return (features & CDATA) != 0 ? Boolean.TRUE : 
Boolean.FALSE;
                }
-               else if (name.equals(Constants.DOM_ENTITIES)) {
+               else if (name.equalsIgnoreCase(Constants.DOM_ENTITIES)) {
                        return (features & ENTITIES) != 0 ? Boolean.TRUE : 
Boolean.FALSE;
                }
-               else if (name.equals(Constants.DOM_SPLIT_CDATA)) {
+               else if (name.equalsIgnoreCase(Constants.DOM_SPLIT_CDATA)) {
                        return (features & SPLITCDATA) != 0 ? Boolean.TRUE : 
Boolean.FALSE;
                }
-               else if (name.equals(Constants.DOM_VALIDATE)) {
+               else if (name.equalsIgnoreCase(Constants.DOM_VALIDATE)) {
                        return (features & VALIDATE) != 0 ? Boolean.TRUE : 
Boolean.FALSE;
                }
-               else if (name.equals(Constants.DOM_WELLFORMED)) {
+               else if (name.equalsIgnoreCase(Constants.DOM_WELLFORMED)) {
                        return (features & WELLFORMED) != 0 ? Boolean.TRUE : 
Boolean.FALSE;
                }
-               else if (name.equals(Constants.DOM_INFOSET)) {
+               else if (name.equalsIgnoreCase(Constants.DOM_INFOSET)) {
                        return (features & INFOSET_MASK) == 
INFOSET_TRUE_PARAMS ? Boolean.TRUE : Boo
lean.FALSE;
                }
-               else if (name.equals(Constants.DOM_NORMALIZE_CHARACTERS)
-                               || name.equals(Constants.DOM_CANONICAL_FORM)
-                               || name.equals(Constants.DOM_VALIDATE_IF_SCHEMA)
-                               || name.equals
(Constants.DOM_CHECK_CHAR_NORMALIZATION)
+               else if (name.equalsIgnoreCase
(Constants.DOM_NORMALIZE_CHARACTERS)
+                               || name.equalsIgnoreCase
(Constants.DOM_CANONICAL_FORM)
+                               || name.equalsIgnoreCase
(Constants.DOM_VALIDATE_IF_SCHEMA)
+                               || name.equalsIgnoreCase
(Constants.DOM_CHECK_CHAR_NORMALIZATION)
                 ) {
                        return Boolean.FALSE;
                }
@@ -803,11 +803,11 @@
             return (features & PSVI) != 0 ? Boolean.TRUE : Boolean.FALSE;
         }
                else if (
-                       name.equals(Constants.DOM_NAMESPACE_DECLARATIONS)
-                               || name.equals
(Constants.DOM_ELEMENT_CONTENT_WHITESPACE)) {
+                       name.equalsIgnoreCase
(Constants.DOM_NAMESPACE_DECLARATIONS)
+                               || name.equalsIgnoreCase
(Constants.DOM_ELEMENT_CONTENT_WHITESPACE))
{
                        return Boolean.TRUE;
                }
-               else if (name.equals(Constants.DOM_ERROR_HANDLER)) {
+               else if (name.equalsIgnoreCase(Constants.DOM_ERROR_HANDLER)) {
             return fErrorHandlerWrapper.getErrorHandler();
                }
                else if (name.equals(Constants.DOM_RESOURCE_RESOLVER)) {
@@ -817,10 +817,10 @@
                        }
                        return null;
                }
-               else if (name.equals(Constants.DOM_SCHEMA_TYPE)) {
+               else if (name.equalsIgnoreCase(Constants.DOM_SCHEMA_TYPE)) {
                        return getProperty(Constants.JAXP_PROPERTY_PREFIX + 
Constants.SCHEMA_LANGUAG
E);
                }
-               else if (name.equals(Constants.DOM_SCHEMA_LOCATION)) {
+               else if (name.equalsIgnoreCase(Constants.DOM_SCHEMA_LOCATION)) {
                        return getProperty(Constants.JAXP_PROPERTY_PREFIX + 
Constants.SCHEMA_SOURCE)
;
                }
         else if (name.equals(SYMBOL_TABLE)){
@@ -868,28 +868,28 @@
             //features whose parameter value can be set either 'true' 
or 'false'
             // or they accept any boolean value -- so we just need to check 
that
             // its a boolean value..
-            if (name.equals(Constants.DOM_COMMENTS)
-                || name.equals(Constants.DOM_DATATYPE_NORMALIZATION)
-                || name.equals(Constants.DOM_CDATA_SECTIONS)
-                || name.equals(Constants.DOM_ENTITIES)
-                || name.equals(Constants.DOM_SPLIT_CDATA)
-                || name.equals(Constants.DOM_NAMESPACES)
-                || name.equals(Constants.DOM_VALIDATE)
-                || name.equals(Constants.DOM_WELLFORMED)
-                || name.equals(Constants.DOM_INFOSET)
+            if (name.equalsIgnoreCase(Constants.DOM_COMMENTS)
+                || name.equalsIgnoreCase(Constants.DOM_DATATYPE_NORMALIZATION)
+                || name.equalsIgnoreCase(Constants.DOM_CDATA_SECTIONS)
+                || name.equalsIgnoreCase(Constants.DOM_ENTITIES)
+                || name.equalsIgnoreCase(Constants.DOM_SPLIT_CDATA)
+                || name.equalsIgnoreCase(Constants.DOM_NAMESPACES)
+                || name.equalsIgnoreCase(Constants.DOM_VALIDATE)
+                || name.equalsIgnoreCase(Constants.DOM_WELLFORMED)
+                || name.equalsIgnoreCase(Constants.DOM_INFOSET)
                 ) {
                 return true ;
             }//features whose parameter value can not be set to 'true'
             else if (
-                name.equals(Constants.DOM_NORMALIZE_CHARACTERS)
-                    || name.equals(Constants.DOM_CANONICAL_FORM)
-                    || name.equals(Constants.DOM_VALIDATE_IF_SCHEMA)
-                    || name.equals(Constants.DOM_CHECK_CHAR_NORMALIZATION)
+                name.equalsIgnoreCase(Constants.DOM_NORMALIZE_CHARACTERS)
+                    || name.equalsIgnoreCase(Constants.DOM_CANONICAL_FORM)
+                    || name.equalsIgnoreCase(Constants.DOM_VALIDATE_IF_SCHEMA)
+                    || name.equalsIgnoreCase
(Constants.DOM_CHECK_CHAR_NORMALIZATION)
                     ) {
                     return (value.equals(Boolean.TRUE)) ? false : true;
             }//features whose parameter value can not be set to 'false'
-            else if( name.equals(Constants.DOM_NAMESPACE_DECLARATIONS)
-                    || name.equals(Constants.DOM_ELEMENT_CONTENT_WHITESPACE)
+            else if( name.equalsIgnoreCase
(Constants.DOM_NAMESPACE_DECLARATIONS)
+                    || name.equalsIgnoreCase
(Constants.DOM_ELEMENT_CONTENT_WHITESPACE)
                     || name.equals(SEND_PSVI)
                     ) {
                     return (value.equals(Boolean.TRUE)) ? true : false;
@@ -898,16 +898,16 @@
                 return false ;
             }
         }
-               else if (name.equals(Constants.DOM_ERROR_HANDLER)) {
+               else if (name.equalsIgnoreCase(Constants.DOM_ERROR_HANDLER)) {
             return (value instanceof DOMErrorHandler) ? true : false ;
         }
         else if (name.equals(Constants.DOM_RESOURCE_RESOLVER)) {
             return (value instanceof LSResourceResolver) ? true : false ;
         }
-        else if (name.equals(Constants.DOM_SCHEMA_LOCATION)) {
+        else if (name.equalsIgnoreCase(Constants.DOM_SCHEMA_LOCATION)) {
             return (value instanceof String) ? true : false ;
         }
-        else if (name.equals(Constants.DOM_SCHEMA_TYPE)) {
+        else if (name.equalsIgnoreCase(Constants.DOM_SCHEMA_TYPE)) {
             // REVISIT: should null value be supported?
             //as of now we are only supporting W3C XML Schema
             return ( (value instanceof String) && value.equals
(Constants.NS_XMLSCHEMA) ) ? true : f
alse ;


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-j-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-j-dev-help@xml.apache.org