tng 2002/11/25 13:23:32 Modified: c/src/xercesc/framework XMLRecognizer.cpp Log: Performance: 1. XERCES_XMLCH should not be classified as XMLRecognizer::OtherEncodings 2. Pre uppercase the encodingString before calling encodingForName to avoid calling compareIString Revision Changes Path 1.4 +20 -19 xml-xerces/c/src/xercesc/framework/XMLRecognizer.cpp Index: XMLRecognizer.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/XMLRecognizer.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- XMLRecognizer.cpp 4 Nov 2002 15:00:21 -0000 1.3 +++ XMLRecognizer.cpp 25 Nov 2002 21:23:31 -0000 1.4 @@ -86,6 +86,7 @@ , XMLUni::fgUTF8EncodingString , XMLUni::fgUTF16BEncodingString , XMLUni::fgUTF16LEncodingString + , XMLUni::fgXMLChEncodingString }; @@ -204,46 +205,46 @@ XMLRecognizer::encodingForName(const XMLCh* const encName) { // - // Compare the passed string, case insensitively, to the variations - // that we recognize. + // Compare the passed string, assume input string is already uppercased, + // to the variations that we recognize. // // !!NOTE: Note that we don't handle EBCDIC here because we don't handle // that one ourselves. It is allowed to fall into 'other'. // if (encName == XMLUni::fgXMLChEncodingString || - !XMLString::compareIString(encName, XMLUni::fgXMLChEncodingString)) + !XMLString::compareString(encName, XMLUni::fgXMLChEncodingString)) { - return XMLRecognizer::OtherEncoding; + return XMLRecognizer::XERCES_XMLCH; } - else if (!XMLString::compareIString(encName, XMLUni::fgUTF8EncodingString) - || !XMLString::compareIString(encName, XMLUni::fgUTF8EncodingString2)) + else if (!XMLString::compareString(encName, XMLUni::fgUTF8EncodingString) + || !XMLString::compareString(encName, XMLUni::fgUTF8EncodingString2)) { return XMLRecognizer::UTF_8; } - else if (!XMLString::compareIString(encName, XMLUni::fgUSASCIIEncodingString) - || !XMLString::compareIString(encName, XMLUni::fgUSASCIIEncodingString2) - || !XMLString::compareIString(encName, XMLUni::fgUSASCIIEncodingString3) - || !XMLString::compareIString(encName, XMLUni::fgUSASCIIEncodingString4)) + else if (!XMLString::compareString(encName, XMLUni::fgUSASCIIEncodingString) + || !XMLString::compareString(encName, XMLUni::fgUSASCIIEncodingString2) + || !XMLString::compareString(encName, XMLUni::fgUSASCIIEncodingString3) + || !XMLString::compareString(encName, XMLUni::fgUSASCIIEncodingString4)) { return XMLRecognizer::US_ASCII; } - else if (!XMLString::compareIString(encName, XMLUni::fgUTF16LEncodingString) - || !XMLString::compareIString(encName, XMLUni::fgUTF16LEncodingString2)) + else if (!XMLString::compareString(encName, XMLUni::fgUTF16LEncodingString) + || !XMLString::compareString(encName, XMLUni::fgUTF16LEncodingString2)) { return XMLRecognizer::UTF_16L; } - else if (!XMLString::compareIString(encName, XMLUni::fgUTF16BEncodingString) - || !XMLString::compareIString(encName, XMLUni::fgUTF16BEncodingString2)) + else if (!XMLString::compareString(encName, XMLUni::fgUTF16BEncodingString) + || !XMLString::compareString(encName, XMLUni::fgUTF16BEncodingString2)) { return XMLRecognizer::UTF_16B; } - else if (!XMLString::compareIString(encName, XMLUni::fgUCS4LEncodingString) - || !XMLString::compareIString(encName, XMLUni::fgUCS4LEncodingString2)) + else if (!XMLString::compareString(encName, XMLUni::fgUCS4LEncodingString) + || !XMLString::compareString(encName, XMLUni::fgUCS4LEncodingString2)) { return XMLRecognizer::UCS_4L; } - else if (!XMLString::compareIString(encName, XMLUni::fgUCS4BEncodingString) - || !XMLString::compareIString(encName, XMLUni::fgUCS4BEncodingString2)) + else if (!XMLString::compareString(encName, XMLUni::fgUCS4BEncodingString) + || !XMLString::compareString(encName, XMLUni::fgUCS4BEncodingString2)) { return XMLRecognizer::UCS_4B; }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]