diff --git a/src/xercesc/dom/impl/DOMConfigurationImpl.cpp b/src/xercesc/dom/impl/DOMConfigurationImpl.cpp
index 8ecb063d38c222d336ab686485ce03953bca0368..3ee7db305d0fd70d1af856935470c214177ceb5c 100644
--- a/src/xercesc/dom/impl/DOMConfigurationImpl.cpp
+++ b/src/xercesc/dom/impl/DOMConfigurationImpl.cpp
@@ -237,101 +237,37 @@ bool DOMConfigurationImpl::canSetParameter(const XMLCh* name, const void* value)
             case FEATURE_CANONICAL_FORM: 
                 if(booleanValue) return false;      // optional //
                 else             return true;       // required // 
-              
             case FEATURE_CDATA_SECTIONS: 
-                // code that supports this feature is not yet implemented. 
-                // Return false regardless. Revisit: uncomment code below 
-                // when this feature is supported
-                return false;
-              
-                /* if(booleanValue) return true;       // required //
-                 * else             return true;       // required //
-                 */
+                return true;
             case FEATURE_COMMENTS:  
-                // code that supports this feature is not yet implemented. 
-                // Return false regardless. Revisit: uncomment code below 
-                // when this feature is supported
-                return false;
-              
-                /* if(booleanValue) return true;       // required //
-                 * else             return true;       // required //
-                 */
+                return true;
             case FEATURE_DATATYPE_NORMALIZATION:  
-                // code that supports this feature is not yet implemented. 
-                // Return false regardless. Revisit: uncomment code below 
-                // when this feature is supported
-                return false;
-              
-                /* if(booleanValue) return true;       // required //
-                 * else             return true;       // required //
-                 */
+                if(booleanValue) return false;       // required //
+                else             return true;        // required //
             case FEATURE_DISCARD_DEFAULT_CONTENT:  
-                // code that supports this feature is not yet implemented. 
-                // Return false regardless. Revisit: uncomment code below 
-                // when this feature is supported
-                return false;
-              
-                /* if(booleanValue) return true;       // required //
-                 * else             return true;       // required //
-                 */
+                if(booleanValue) return false;       // required //
+                else             return true;        // required //
             case FEATURE_ENTITIES:  
-                // code that supports this feature is not yet implemented. 
-                // Return false regardless. Revisit: uncomment code below 
-                // when this feature is supported
-                return false;
-              
-                /* if(booleanValue) return true;       // required //
-                 * else             return true;       // required //
-                 */
+                if(booleanValue) return true;       // required //
+                else             return true;       // required //
             case FEATURE_INFOSET:  
-                // code that supports this feature is not yet implemented. 
-                // Return false regardless. Revisit: uncomment code below 
-                // when this feature is supported
-                return false;
-              
-                /* if(booleanValue) return true;       // required //
-                 * else             return false;      // no effect//
-                 */
+                if(booleanValue) return false;       // required //
+                else             return true;       // no effect//
             case FEATURE_NAMESPACES:  
-                // code that supports this feature is not yet implemented. 
-                // Return false regardless. Revisit: uncomment code below 
-                // when this feature is supported
-                return false;
-             
-                /* if(booleanValue) return true;       // required //
-                 * else             return false;      // optional //
-                 */
+                return true;       
             case FEATURE_NAMESPACE_DECLARATIONS:  
-                // code that supports this feature is not yet implemented. 
-                // Return false regardless. Revisit: uncomment code below 
-                // when this feature is supported
-                return false;
-              
-                /* if(booleanValue) return true;       // required //
-                 * else             return true;       // required //
-                 */
+                if(booleanValue) return true;      // optional //
+                else             return false;       // required //
             case FEATURE_NORMALIZE_CHARACTERS:  
-                // code that supports this feature is not yet implemented. 
-                // Return false regardless. Revisit: uncomment code below 
-                // when this feature is supported
-                return false;
-              
-                /* if(booleanValue) return false;      // optional //
-                 * else             return true;       // required //
-                 */
+                if(booleanValue) return false;      // optional //
+                else             return true;       // required //
             case FEATURE_SPLIT_CDATA_SECTIONS:  
-                // code that supports this feature is not yet implemented. 
-                // Return false regardless. Revisit: uncomment code below 
-                // when this feature is supported
-                return false;
-              
-                /* if(booleanValue) return true;       // required //
-                 * else             return true;       // required //
-                 */
+                //we dont report an error in the false case so we cant claim we do it
+                if(booleanValue) return false;       // required //
+                else             return false;       // required //
             case FEATURE_VALIDATE:  
                 if(booleanValue) return false;      // optional //
                 else             return true;       // required //
-              
             case FEATURE_VALIDATE_IF_SCHEMA:  
                 if(booleanValue) return false;      // optional //
                 else             return true;       // required //
@@ -339,7 +275,6 @@ bool DOMConfigurationImpl::canSetParameter(const XMLCh* name, const void* value)
             case FEATURE_WHITESPACE_IN_ELEMENT_CONTENT:  
                 if(booleanValue) return true;       // required //
                 else             return false;      // optional //
-              
             default: return false; // should never be here
         }
     } else {
@@ -396,7 +331,7 @@ DOMConfigurationImpl::DOMConfigurationFeature DOMConfigurationImpl::getFeatureFl
         
 }
 
-const DOMErrorHandler* DOMConfigurationImpl::getErrorHandler() const {
+DOMErrorHandler* DOMConfigurationImpl::getErrorHandler() const {
     return fErrorHandler;
 }
 
@@ -408,7 +343,7 @@ const XMLCh* DOMConfigurationImpl::getSchemaLocation() const {
     return fSchemaLocation;
 }
 
-void DOMConfigurationImpl::setErrorHandler(const DOMErrorHandler *erHandler) {
+void DOMConfigurationImpl::setErrorHandler(DOMErrorHandler *erHandler) {
     fErrorHandler = erHandler;
 }
 
diff --git a/src/xercesc/dom/impl/DOMConfigurationImpl.hpp b/src/xercesc/dom/impl/DOMConfigurationImpl.hpp
index 9f5bdac7283c9ee592ec0d92b45cbfb36884cf96..5d1aa5ba43664b99f74d76596931bd5b14e7e0c2 100644
--- a/src/xercesc/dom/impl/DOMConfigurationImpl.hpp
+++ b/src/xercesc/dom/impl/DOMConfigurationImpl.hpp
@@ -141,13 +141,13 @@ public:
     /* specific get and set methods for non-boolean parameters
      * */
 
-    const DOMErrorHandler* getErrorHandler() const;
+    DOMErrorHandler* getErrorHandler() const;
 
     const XMLCh* getSchemaType() const;
 
     const XMLCh* getSchemaLocation() const;
 
-    void setErrorHandler(const DOMErrorHandler *erHandler);
+    void setErrorHandler(DOMErrorHandler *erHandler);
 
     void setSchemaType(const XMLCh* st);
 
@@ -186,7 +186,7 @@ private:
     DOMConfigurationFeature getFeatureFlag(const XMLCh* name) const;
 
     // the error handler
-    const DOMErrorHandler* fErrorHandler;
+    DOMErrorHandler* fErrorHandler;
     
     // the schema type
     const XMLCh* fSchemaType;