You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by am...@apache.org on 2005/12/08 16:00:50 UTC

svn commit: r355106 - /xerces/c/trunk/src/xercesc/dom/impl/DOMConfigurationImpl.cpp

Author: amassari
Date: Thu Dec  8 07:00:44 2005
New Revision: 355106

URL: http://svn.apache.org/viewcvs?rev=355106&view=rev
Log:
Use XMLString::compareIStringASCII to avoid the penalty of calling XMLString::lowerCase

Modified:
    xerces/c/trunk/src/xercesc/dom/impl/DOMConfigurationImpl.cpp

Modified: xerces/c/trunk/src/xercesc/dom/impl/DOMConfigurationImpl.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/dom/impl/DOMConfigurationImpl.cpp?rev=355106&r1=355105&r2=355106&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/dom/impl/DOMConfigurationImpl.cpp (original)
+++ xerces/c/trunk/src/xercesc/dom/impl/DOMConfigurationImpl.cpp Thu Dec  8 07:00:44 2005
@@ -20,7 +20,6 @@
 #include <xercesc/util/XMLString.hpp>
 #include <xercesc/util/XMLUniDefs.hpp>
 #include <xercesc/dom/DOMException.hpp>
-#include <xercesc/util/Janitor.hpp>
 
 XERCES_CPP_NAMESPACE_BEGIN
 
@@ -55,21 +54,15 @@
 }
                                         
 void DOMConfigurationImpl::setParameter(const XMLCh* name, const void* value) {
-
-    XMLCh* lowerCaseName = XMLString::replicate(name, fMemoryManager);
-    ArrayJanitor<XMLCh> janName(lowerCaseName, fMemoryManager);
-
-    XMLString::lowerCaseASCII(lowerCaseName);
-
-    if(!canSetParameter(lowerCaseName, value)) {
+    if(!canSetParameter(name, value)) {
         throw DOMException(DOMException::NOT_SUPPORTED_ERR, 0, fMemoryManager);
     }
 
-    if(XMLString::equals(lowerCaseName, XMLUni::fgDOMErrorHandler)) {
+    if(XMLString::compareIStringASCII(name, XMLUni::fgDOMErrorHandler)==0) {
         fErrorHandler = (DOMErrorHandler*)value;
-    } else if (XMLString::equals(lowerCaseName, XMLUni::fgDOMSchemaType)) {
+    } else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMSchemaType)==0) {
         fSchemaType = (XMLCh*)value;
-    } else if (XMLString::equals(lowerCaseName, XMLUni::fgDOMSchemaLocation)) {
+    } else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMSchemaLocation)==0) {
         fSchemaLocation = (XMLCh*)value;
     } else {  // canSetParameter above should take care of this case
         throw DOMException(DOMException::NOT_FOUND_ERR, 0, fMemoryManager);
@@ -78,16 +71,11 @@
 }
 
 void DOMConfigurationImpl::setParameter(const XMLCh* name, bool value) {
-    XMLCh* lowerCaseName = XMLString::replicate(name, fMemoryManager);
-    ArrayJanitor<XMLCh> janName(lowerCaseName, fMemoryManager);
-
-    XMLString::lowerCaseASCII(lowerCaseName);
-
-    if(!canSetParameter(lowerCaseName, value)) {
+    if(!canSetParameter(name, value)) {
         throw DOMException(DOMException::NOT_SUPPORTED_ERR, 0, fMemoryManager);
     }
 
-    DOMConfigurationFeature whichFlag = getFeatureFlag(lowerCaseName);
+    DOMConfigurationFeature whichFlag = getFeatureFlag(name);
     if(value) {
         featureValues |= whichFlag;
     } else {
@@ -101,15 +89,9 @@
 // --------------------------------------
 
 const void* DOMConfigurationImpl::getParameter(const XMLCh* name) const {
-
-    XMLCh* lowerCaseName = XMLString::replicate(name, fMemoryManager);
-    ArrayJanitor<XMLCh> janName(lowerCaseName, fMemoryManager);
-
-    XMLString::lowerCaseASCII(lowerCaseName);
-
     DOMConfigurationFeature whichFlag;
     try {
-        whichFlag = getFeatureFlag(lowerCaseName);
+        whichFlag = getFeatureFlag(name);
         if(featureValues & whichFlag) {
             return (void*)true;
         } else {
@@ -117,11 +99,11 @@
         }
    } catch (DOMException&) {
         // must not be a boolean parameter
-        if(XMLString::equals(lowerCaseName, XMLUni::fgDOMErrorHandler)) {
+        if(XMLString::compareIStringASCII(name, XMLUni::fgDOMErrorHandler)==0) {
             return fErrorHandler;
-        } else if (XMLString::equals(lowerCaseName, XMLUni::fgDOMSchemaType)) {
+        } else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMSchemaType)==0) {
             return fSchemaType;
-        } else if (XMLString::equals(lowerCaseName, XMLUni::fgDOMSchemaLocation)) {
+        } else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMSchemaLocation)==0) {
             return fSchemaLocation;
         } else {
             throw DOMException(DOMException::NOT_FOUND_ERR, 0, fMemoryManager);
@@ -144,16 +126,11 @@
      *  2) if an [optional] feature has no supporting code, then return false
      **/ 
     
-    XMLCh* lowerCaseName = XMLString::replicate(name, fMemoryManager);
-    ArrayJanitor<XMLCh> janName(lowerCaseName, fMemoryManager);
-    
-    XMLString::lowerCaseASCII(lowerCaseName);
-    
-    if(XMLString::equals(lowerCaseName, XMLUni::fgDOMErrorHandler)) {
+    if(XMLString::compareIStringASCII(name, XMLUni::fgDOMErrorHandler)==0) {
         return true;                               // required //
-    } else if (XMLString::equals(lowerCaseName, XMLUni::fgDOMSchemaType)) {
+    } else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMSchemaType)==0) {
         return false;                            // optional //
-    } else if (XMLString::equals(lowerCaseName, XMLUni::fgDOMSchemaLocation)) {
+    } else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMSchemaLocation)==0) {
         return false;                            // optional //
     } 
     return false;
@@ -168,12 +145,7 @@
      *  2) if an [optional] feature has no supporting code, then return false
      **/ 
     
-    XMLCh* lowerCaseName = XMLString::replicate(name, fMemoryManager);
-    ArrayJanitor<XMLCh> janName(lowerCaseName, fMemoryManager);
-    
-    XMLString::lowerCaseASCII(lowerCaseName);
-    
-    DOMConfigurationFeature whichFlag = getFeatureFlag(lowerCaseName);
+    DOMConfigurationFeature whichFlag = getFeatureFlag(name);
     switch (whichFlag) {
         case FEATURE_CANONICAL_FORM: 
             if(booleanValue) return false;      // optional //
@@ -231,38 +203,33 @@
 // -------------------------------------------
 
 DOMConfigurationImpl::DOMConfigurationFeature DOMConfigurationImpl::getFeatureFlag(const XMLCh* name) const {
-    XMLCh* lowerCaseName = XMLString::replicate(name, fMemoryManager);
-    ArrayJanitor<XMLCh> janName(lowerCaseName, fMemoryManager);
-    
-    XMLString::lowerCaseASCII(lowerCaseName);
-  
-    if(XMLString::equals(lowerCaseName, XMLUni::fgDOMCanonicalForm)) {
+    if(XMLString::compareIStringASCII(name, XMLUni::fgDOMCanonicalForm)==0) {
         return FEATURE_CANONICAL_FORM;
-    } else if (XMLString::equals(lowerCaseName, XMLUni::fgDOMCDATASections )) {
+    } else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMCDATASections )==0) {
         return FEATURE_CDATA_SECTIONS;
-    } else if (XMLString::equals(lowerCaseName, XMLUni::fgDOMComments)) {
+    } else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMComments)==0) {
         return FEATURE_COMMENTS;
-    } else if (XMLString::equals(lowerCaseName, XMLUni::fgDOMDatatypeNormalization))  {
+    } else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMDatatypeNormalization)==0)  {
         return FEATURE_DATATYPE_NORMALIZATION;
-    } else if (XMLString::equals(lowerCaseName, XMLUni::fgDOMWRTDiscardDefaultContent)) {
+    } else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMWRTDiscardDefaultContent)==0) {
         return FEATURE_DISCARD_DEFAULT_CONTENT;
-    } else if (XMLString::equals(lowerCaseName, XMLUni::fgDOMEntities)) {
+    } else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMEntities)==0) {
         return FEATURE_ENTITIES;
-    } else if (XMLString::equals(lowerCaseName, XMLUni::fgDOMInfoset))  {
+    } else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMInfoset)==0)  {
         return FEATURE_INFOSET;
-    } else if (XMLString::equals(lowerCaseName, XMLUni::fgDOMNamespaces)) {
+    } else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMNamespaces)==0) {
         return FEATURE_NAMESPACES;
-    } else if (XMLString::equals(lowerCaseName, XMLUni::fgDOMNamespaceDeclarations)) {
+    } else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMNamespaceDeclarations)==0) {
         return FEATURE_NAMESPACE_DECLARATIONS;
-    } else if (XMLString::equals(lowerCaseName, XMLUni::fgDOMNormalizeCharacters)) {
+    } else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMNormalizeCharacters)==0) {
         return FEATURE_NORMALIZE_CHARACTERS;
-    } else if (XMLString::equals(lowerCaseName, XMLUni::fgDOMSplitCDATASections)) {
+    } else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMSplitCDATASections)==0) {
         return FEATURE_SPLIT_CDATA_SECTIONS;
-    } else if (XMLString::equals(lowerCaseName, XMLUni::fgDOMValidate)) {
+    } else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMValidate)==0) {
         return FEATURE_VALIDATE;
-    } else if (XMLString::equals(lowerCaseName, XMLUni::fgDOMValidateIfSchema)) {
+    } else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMValidateIfSchema)==0) {
         return FEATURE_VALIDATE_IF_SCHEMA;
-    } else if (XMLString::equals(lowerCaseName, XMLUni::fgDOMElementContentWhitespace)) {
+    } else if (XMLString::compareIStringASCII(name, XMLUni::fgDOMElementContentWhitespace)==0) {
         return FEATURE_ELEMENT_CONTENT_WHITESPACE;
     } else {
         throw DOMException(DOMException::NOT_FOUND_ERR, 0, fMemoryManager);



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