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]

Reply via email to