knoaman 2002/12/11 14:14:54
Modified: c/src/xercesc/parsers SAX2XMLReaderImpl.cpp
Log:
Performance: no need to use temporary buffer to hold namespace value.
Revision Changes Path
1.14 +23 -24 xml-xerces/c/src/xercesc/parsers/SAX2XMLReaderImpl.cpp
Index: SAX2XMLReaderImpl.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/parsers/SAX2XMLReaderImpl.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- SAX2XMLReaderImpl.cpp 4 Dec 2002 01:57:09 -0000 1.13
+++ SAX2XMLReaderImpl.cpp 11 Dec 2002 22:14:54 -0000 1.14
@@ -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 @@
, fScanner(0)
, fGrammarResolver(0)
, fURIStringPool(0)
+ , fValidator(0)
{
try
{
@@ -893,15 +897,13 @@
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 @@
// 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 @@
// 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 @@
}
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++)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]