Author: cargilld
Date: Fri Apr 28 12:59:01 2006
New Revision: 397996

URL: http://svn.apache.org/viewcvs?rev=397996&view=rev
Log:
Performance fix, don't use QName as colon location is already available.

Modified:
    xerces/c/trunk/src/xercesc/internal/SGXMLScanner.cpp

Modified: xerces/c/trunk/src/xercesc/internal/SGXMLScanner.cpp
URL: 
http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/internal/SGXMLScanner.cpp?rev=397996&r1=397995&r2=397996&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/internal/SGXMLScanner.cpp (original)
+++ xerces/c/trunk/src/xercesc/internal/SGXMLScanner.cpp Fri Apr 28 12:59:01 
2006
@@ -3451,23 +3451,29 @@
         XMLBufBid bbXsi(&fBufMgr);
         XMLBuffer& fXsiType = bbXsi.getBuffer();
 
-        QName attName(fMemoryManager);
-
         for (index = 0; index < attCount; index++)
         {
             // each attribute has the prefix:suffix="value"
             const KVStringPair* curPair = fRawAttrList->elementAt(index);
             const XMLCh* rawPtr = curPair->getKey();
+            const XMLCh* prefPtr;
+
+            int   colonInd = fRawAttrColonList[index];
 
-            attName.setName(rawPtr, fEmptyNamespaceId);
-            const XMLCh* prefPtr = attName.getPrefix();
+            if (colonInd != -1) {
+                fURIBuf.set(rawPtr, colonInd);
+                prefPtr = fURIBuf.getRawBuffer();
+            }
+            else {
+                prefPtr = XMLUni::fgZeroLenString;
+            }            
 
             // if schema URI has been seen, scan for the schema location and 
uri
             // and resolve the schema grammar; or scan for schema type
             if (resolvePrefix(prefPtr, ElemStack::Mode_Attribute) == 
fSchemaNamespaceId) {
 
                 const XMLCh* valuePtr = curPair->getValue();
-                const XMLCh* suffPtr = attName.getLocalPart();
+                const XMLCh*  suffPtr = &rawPtr[colonInd + 1];
 
                 if (XMLString::equals(suffPtr, 
SchemaSymbols::fgXSI_SCHEMALOCACTION))
                     parseSchemaLocation(valuePtr);



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to