From c3e642b8e9de9dc46c6bfdf1a4f441262d80a0f5 Mon Sep 17 00:00:00 2001 From: Khaled Noaman <knoaman@apache.org> Date: Wed, 11 Dec 2002 22:14:54 +0000 Subject: [PATCH] Performance: no need to use temporary buffer to hold namespace value. git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@174504 13f79535-47bb-0310-9956-ffa450edef68 --- src/xercesc/parsers/SAX2XMLReaderImpl.cpp | 47 +++++++++++------------ 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/src/xercesc/parsers/SAX2XMLReaderImpl.cpp b/src/xercesc/parsers/SAX2XMLReaderImpl.cpp index 234e78da1..af7f51e9a 100644 --- a/src/xercesc/parsers/SAX2XMLReaderImpl.cpp +++ b/src/xercesc/parsers/SAX2XMLReaderImpl.cpp @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.14 2002/12/11 22:14:54 knoaman + * Performance: no need to use temporary buffer to hold namespace value. + * * Revision 1.13 2002/12/04 01:57:09 knoaman * Scanner re-organization. * @@ -272,6 +275,7 @@ SAX2XMLReaderImpl::SAX2XMLReaderImpl() : , fScanner(0) , fGrammarResolver(0) , fURIStringPool(0) + , fValidator(0) { try { @@ -893,15 +897,13 @@ startElement( const XMLElementDecl& elemDecl fAttrList.setVector(&attrList, attrCount, fScanner); // call startElement() with namespace declarations - XMLBufBid URIBufferBid ( &fStringBuffers ) ; - XMLBuffer &URIBuffer = URIBufferBid.getBuffer() ; - - fScanner->getURIText(elemURLId, (XMLBuffer &)URIBuffer); - - fDocHandler->startElement(URIBuffer.getRawBuffer(), - elemDecl.getBaseName(), - elemQName.getRawBuffer(), - fAttrList); + fDocHandler->startElement + ( + fScanner->getURIText(elemURLId) + , elemDecl.getBaseName() + , elemQName.getRawBuffer() + , fAttrList + ); } else // no namespace { @@ -919,13 +921,12 @@ startElement( const XMLElementDecl& elemDecl // call endPrefixMapping appropriately. if (getDoNamespaces()) { - XMLBufBid URIBufferBid ( &fStringBuffers ) ; - XMLBuffer &URIBuffer = URIBufferBid.getBuffer() ; - fScanner->getURIText(elemURLId, (XMLBuffer &)URIBuffer); - - fDocHandler->endElement( URIBuffer.getRawBuffer(), - elemDecl.getBaseName(), - elemQName.getRawBuffer()); + fDocHandler->endElement + ( + fScanner->getURIText(elemURLId) + , elemDecl.getBaseName() + , elemQName.getRawBuffer() + ); unsigned int numPrefix = fPrefixCounts->pop(); for (unsigned int i = 0; i < numPrefix; ++i) @@ -975,11 +976,6 @@ void SAX2XMLReaderImpl::endElement( const XMLElementDecl& elemDecl // get the prefixes back so that we can call endPrefixMapping() if (getDoNamespaces()) { - XMLBufBid URIBufferBid ( &fStringBuffers ) ; - XMLBuffer &URIBuffer = URIBufferBid.getBuffer() ; - - fScanner->getURIText(uriId, URIBuffer ) ; - XMLBufBid elemQName( &fStringBuffers ) ; if (elemPrefix && *elemPrefix) { elemQName.set(elemPrefix); @@ -987,9 +983,12 @@ void SAX2XMLReaderImpl::endElement( const XMLElementDecl& elemDecl } elemQName.append(elemDecl.getBaseName()); - fDocHandler->endElement( URIBuffer.getRawBuffer(), - elemDecl.getBaseName(), - elemQName.getRawBuffer()); + fDocHandler->endElement + ( + fScanner->getURIText(uriId) + , elemDecl.getBaseName() + , elemQName.getRawBuffer() + ); unsigned int numPrefix = fPrefixCounts->pop(); for (unsigned int i = 0; i < numPrefix; i++) -- GitLab