peiyongz    2003/07/10 12:47:24

  Modified:    c/src/xercesc/internal DGXMLScanner.cpp DGXMLScanner.hpp
                        IGXMLScanner.cpp IGXMLScanner.hpp IGXMLScanner2.cpp
                        SGXMLScanner.cpp SGXMLScanner.hpp WFXMLScanner.cpp
                        WFXMLScanner.hpp XMLScanner.cpp XMLScanner.hpp
                        XMLScannerResolver.cpp XMLScannerResolver.hpp
  Log:
  Stateless Grammar: Initialize scanner with grammarResolver,
                                 creating grammar through grammarPool
  
  Revision  Changes    Path
  1.20      +18 -15    xml-xerces/c/src/xercesc/internal/DGXMLScanner.cpp
  
  Index: DGXMLScanner.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/DGXMLScanner.cpp,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- DGXMLScanner.cpp  26 Jun 2003 16:56:41 -0000      1.19
  +++ DGXMLScanner.cpp  10 Jul 2003 19:47:23 -0000      1.20
  @@ -84,9 +84,11 @@
   // ---------------------------------------------------------------------------
   //  DGXMLScanner: Constructors and Destructor
   // ---------------------------------------------------------------------------
  -DGXMLScanner::DGXMLScanner(XMLValidator* const valToAdopt, MemoryManager* const 
manager) :
  +DGXMLScanner::DGXMLScanner(XMLValidator* const valToAdopt
  +                         , GrammarResolver* const grammarResolver
  +                         , MemoryManager* const manager) :
   
  -    XMLScanner(valToAdopt, manager)
  +    XMLScanner(valToAdopt, grammarResolver, manager)
       , fElemStack(manager)
       , fAttrNSList(0)
       , fDTDValidator(0)
  @@ -118,9 +120,10 @@
                             , XMLEntityHandler* const   entityHandler
                             , XMLErrorReporter* const   errHandler
                             , XMLValidator* const       valToAdopt
  +                          , GrammarResolver* const    grammarResolver
                             , MemoryManager* const      manager) :
   
  -    XMLScanner(docHandler, docTypeHandler, entityHandler, errHandler, valToAdopt, 
manager)
  +    XMLScanner(docHandler, docTypeHandler, entityHandler, errHandler, valToAdopt, 
grammarResolver, manager)
       , fElemStack(manager)
       , fAttrNSList(0)
       , fDTDValidator(0)
  @@ -769,12 +772,12 @@
       //
       //  Only do this if we are not reusing the validator! If we are reusing,
       //  then look it up instead. It has to exist!
  -    DTDElementDecl* rootDecl = new (fMemoryManager) DTDElementDecl
  +    DTDElementDecl* rootDecl = new (fGrammarPoolMemoryManager) DTDElementDecl
       (
           bbRootName.getRawBuffer()
           , fEmptyNamespaceId
           , DTDElementDecl::Any
  -        , fMemoryManager
  +        , fGrammarPoolMemoryManager
       );
   
       rootDecl->setCreateReason(DTDElementDecl::AsRootElem);
  @@ -809,6 +812,7 @@
       (
           (DTDGrammar*) fGrammar
           , fDocTypeHandler
  +        , fGrammarPoolMemoryManager
           , fMemoryManager
       );
       dtdScanner.setScannerInfo(this, &fReaderMgr, &fBufMgr);
  @@ -933,12 +937,12 @@
                   if (rootDecl)
                       ((DTDGrammar*)fGrammar)->setRootElemId(rootDecl->getId());
                   else {
  -                    rootDecl = new (fMemoryManager) DTDElementDecl
  +                    rootDecl = new (fGrammarPoolMemoryManager) DTDElementDecl
                       (
                           bbRootName.getRawBuffer()
                           , fEmptyNamespaceId
                           , DTDElementDecl::Any
  -                        , fMemoryManager
  +                        , fGrammarPoolMemoryManager
                       );
                       rootDecl->setCreateReason(DTDElementDecl::AsRootElem);
                       rootDecl->setExternalElemDeclaration(true);
  @@ -989,7 +993,7 @@
               //  with an external entity. Put a janitor on it to insure it gets
               //  cleaned up. The reader manager does not adopt them.
               const XMLCh gDTDStr[] = { chLatin_D, chLatin_T, chLatin_D , chNull };
  -            DTDEntityDecl* declDTD = new (fMemoryManager) DTDEntityDecl(gDTDStr, 
false, fMemoryManager);
  +            DTDEntityDecl* declDTD = new (fGrammarPoolMemoryManager) 
DTDEntityDecl(gDTDStr, false, fGrammarPoolMemoryManager);
               declDTD->setSystemId(sysId);
               Janitor<DTDEntityDecl> janDecl(declDTD);
   
  @@ -1681,8 +1685,7 @@
       if (fValidatorFromUser)
           fValidator->reset();
   
  -    //fDTDGrammar = fGrammarResolver->getGrammarPool()->createDTDGrammar();   
  -    fDTDGrammar = new (fMemoryManager) DTDGrammar(fMemoryManager);
  +    fDTDGrammar = new (fGrammarPoolMemoryManager) 
DTDGrammar(fGrammarPoolMemoryManager);
       XMLDTDDescription* gramDesc = 
fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString);
       fGrammarResolver->putGrammar(gramDesc, fDTDGrammar);
       fGrammar = fDTDGrammar;
  @@ -1735,7 +1738,7 @@
       //  with an external entity. Put a janitor on it to insure it gets
       //  cleaned up. The reader manager does not adopt them.
       const XMLCh gDTDStr[] = { chLatin_D, chLatin_T, chLatin_D , chNull };
  -    DTDEntityDecl* declDTD = new (fMemoryManager) DTDEntityDecl(gDTDStr, false, 
fMemoryManager);
  +    DTDEntityDecl* declDTD = new (fGrammarPoolMemoryManager) DTDEntityDecl(gDTDStr, 
false, fGrammarPoolMemoryManager);
       declDTD->setSystemId(src.getSystemId());
       Janitor<DTDEntityDecl> janDecl(declDTD);
   
  @@ -1750,12 +1753,12 @@
       if (fDocTypeHandler) {
   
           // Create a dummy root
  -        DTDElementDecl* rootDecl = new (fMemoryManager) DTDElementDecl
  +        DTDElementDecl* rootDecl = new (fGrammarPoolMemoryManager) DTDElementDecl
           (
               gDTDStr
               , fEmptyNamespaceId
               , DTDElementDecl::Any
  -            , fMemoryManager
  +            , fGrammarPoolMemoryManager
           );
           rootDecl->setCreateReason(DTDElementDecl::AsRootElem);
           rootDecl->setExternalElemDeclaration(true);
  @@ -1769,6 +1772,7 @@
       (
           (DTDGrammar*)fGrammar
           , fDocTypeHandler
  +        , fGrammarPoolMemoryManager
           , fMemoryManager
       );
       dtdScanner.setScannerInfo(this, &fReaderMgr, &fBufMgr);
  @@ -2039,8 +2043,7 @@
       fGrammarResolver->cacheGrammarFromParse(fToCacheGrammar);
       fGrammarResolver->useCachedGrammarInParse(fUseCachedGrammar);
   
  -    //fDTDGrammar = fGrammarResolver->getGrammarPool()->createDTDGrammar();
  -    fDTDGrammar = new (fMemoryManager) DTDGrammar(fMemoryManager);
  +    fDTDGrammar = new (fGrammarPoolMemoryManager) 
DTDGrammar(fGrammarPoolMemoryManager);
       XMLDTDDescription* gramDesc = 
fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString);
       fGrammarResolver->putGrammar(gramDesc, fDTDGrammar);
       fGrammar = fDTDGrammar;
  
  
  
  1.7       +5 -1      xml-xerces/c/src/xercesc/internal/DGXMLScanner.hpp
  
  Index: DGXMLScanner.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/DGXMLScanner.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- DGXMLScanner.hpp  22 May 2003 02:10:51 -0000      1.6
  +++ DGXMLScanner.hpp  10 Jul 2003 19:47:23 -0000      1.7
  @@ -56,6 +56,10 @@
   
   /*
    * $Log$
  + * Revision 1.7  2003/07/10 19:47:23  peiyongz
  + * Stateless Grammar: Initialize scanner with grammarResolver,
  + *                                creating grammar through grammarPool
  + *
    * Revision 1.6  2003/05/22 02:10:51  knoaman
    * Default the memory manager.
    *
  @@ -90,7 +94,6 @@
   class DTDGrammar;
   class DTDValidator;
   
  -
   //  This is an integrated scanner class, which does DTD/XML Schema grammar
   //  processing.
   class XMLPARSER_EXPORT DGXMLScanner : public XMLScanner
  @@ -102,6 +105,7 @@
       DGXMLScanner
       (
             XMLValidator* const  valToAdopt
  +        , GrammarResolver* const grammarResolver
           , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
       DGXMLScanner
  @@ -111,6 +115,7 @@
           , XMLEntityHandler* const   entityHandler
           , XMLErrorReporter* const   errReporter
           , XMLValidator* const       valToAdopt
  +        , GrammarResolver* const    grammarResolver
           , MemoryManager* const      manager = XMLPlatformUtils::fgMemoryManager
       );
       virtual ~DGXMLScanner();
  
  
  
  1.19      +15 -12    xml-xerces/c/src/xercesc/internal/IGXMLScanner.cpp
  
  Index: IGXMLScanner.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/IGXMLScanner.cpp,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- IGXMLScanner.cpp  26 Jun 2003 16:56:41 -0000      1.18
  +++ IGXMLScanner.cpp  10 Jul 2003 19:47:23 -0000      1.19
  @@ -90,9 +90,10 @@
   //  IGXMLScanner: Constructors and Destructor
   // ---------------------------------------------------------------------------
   IGXMLScanner::IGXMLScanner( XMLValidator* const  valToAdopt
  +                          , GrammarResolver* const grammarResolver
                             , MemoryManager* const manager) :
   
  -    XMLScanner(valToAdopt, manager)
  +    XMLScanner(valToAdopt, grammarResolver, manager)
       , fSeeXsi(false)
       , fElemStateSize(16)
       , fElemState(0)
  @@ -126,9 +127,10 @@
                             , XMLEntityHandler* const   entityHandler
                             , XMLErrorReporter* const   errHandler
                             , XMLValidator* const       valToAdopt
  +                          , GrammarResolver* const    grammarResolver
                             , MemoryManager* const      manager) :
   
  -    XMLScanner(docHandler, docTypeHandler, entityHandler, errHandler, valToAdopt, 
manager)
  +    XMLScanner(docHandler, docTypeHandler, entityHandler, errHandler, valToAdopt, 
grammarResolver, manager)
       , fSeeXsi(false)
       , fElemStateSize(16)
       , fElemState(0)
  @@ -1175,12 +1177,12 @@
       //
       //  Only do this if we are not reusing the validator! If we are reusing,
       //  then look it up instead. It has to exist!
  -    DTDElementDecl* rootDecl = new (fMemoryManager) DTDElementDecl
  +    DTDElementDecl* rootDecl = new (fGrammarPoolMemoryManager) DTDElementDecl
       (
           bbRootName.getRawBuffer()
           , fEmptyNamespaceId
           , DTDElementDecl::Any
  -        , fMemoryManager
  +        , fGrammarPoolMemoryManager
       );
   
       rootDecl->setCreateReason(DTDElementDecl::AsRootElem);
  @@ -1215,6 +1217,7 @@
       (
           (DTDGrammar*) fGrammar
           , fDocTypeHandler
  +        , fGrammarPoolMemoryManager
           , fMemoryManager
       );
       dtdScanner.setScannerInfo(this, &fReaderMgr, &fBufMgr);
  @@ -1339,12 +1342,12 @@
                   if (rootDecl)
                       ((DTDGrammar*)fGrammar)->setRootElemId(rootDecl->getId());
                   else {
  -                    rootDecl = new (fMemoryManager) DTDElementDecl
  +                    rootDecl = new (fGrammarPoolMemoryManager) DTDElementDecl
                       (
                           bbRootName.getRawBuffer()
                           , fEmptyNamespaceId
                           , DTDElementDecl::Any
  -                        , fMemoryManager
  +                        , fGrammarPoolMemoryManager
                       );
                       rootDecl->setCreateReason(DTDElementDecl::AsRootElem);
                       rootDecl->setExternalElemDeclaration(true);
  @@ -1395,7 +1398,7 @@
               //  with an external entity. Put a janitor on it to insure it gets
               //  cleaned up. The reader manager does not adopt them.
               const XMLCh gDTDStr[] = { chLatin_D, chLatin_T, chLatin_D , chNull };
  -            DTDEntityDecl* declDTD = new (fMemoryManager) DTDEntityDecl(gDTDStr, 
false, fMemoryManager);
  +            DTDEntityDecl* declDTD = new (fGrammarPoolMemoryManager) 
DTDEntityDecl(gDTDStr, false, fGrammarPoolMemoryManager);
               declDTD->setSystemId(sysId);
               Janitor<DTDEntityDecl> janDecl(declDTD);
   
  @@ -2851,8 +2854,7 @@
           }
       }
   
  -    //fDTDGrammar = fGrammarResolver->getGrammarPool()->createDTDGrammar();
  -    fDTDGrammar = new (fMemoryManager) DTDGrammar(fMemoryManager);
  +    fDTDGrammar = new (fGrammarPoolMemoryManager) 
DTDGrammar(fGrammarPoolMemoryManager);
       XMLDTDDescription* gramDesc = 
fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString);
       fGrammarResolver->putGrammar(gramDesc, fDTDGrammar);
       fGrammar = fDTDGrammar;
  @@ -2906,7 +2908,7 @@
       //  with an external entity. Put a janitor on it to insure it gets
       //  cleaned up. The reader manager does not adopt them.
       const XMLCh gDTDStr[] = { chLatin_D, chLatin_T, chLatin_D , chNull };
  -    DTDEntityDecl* declDTD = new (fMemoryManager) DTDEntityDecl(gDTDStr, false, 
fMemoryManager);
  +    DTDEntityDecl* declDTD = new (fGrammarPoolMemoryManager) DTDEntityDecl(gDTDStr, 
false, fGrammarPoolMemoryManager);
       declDTD->setSystemId(src.getSystemId());
       Janitor<DTDEntityDecl> janDecl(declDTD);
   
  @@ -2921,12 +2923,12 @@
       if (fDocTypeHandler) {
   
           // Create a dummy root
  -        DTDElementDecl* rootDecl = new (fMemoryManager) DTDElementDecl
  +        DTDElementDecl* rootDecl = new (fGrammarPoolMemoryManager) DTDElementDecl
           (
               gDTDStr
               , fEmptyNamespaceId
               , DTDElementDecl::Any
  -            , fMemoryManager
  +            , fGrammarPoolMemoryManager
           );
           rootDecl->setCreateReason(DTDElementDecl::AsRootElem);
           rootDecl->setExternalElemDeclaration(true);
  @@ -2940,6 +2942,7 @@
       (
           (DTDGrammar*) fGrammar
           , fDocTypeHandler
  +        , fGrammarPoolMemoryManager
           , fMemoryManager
       );
       dtdScanner.setScannerInfo(this, &fReaderMgr, &fBufMgr);
  
  
  
  1.8       +5 -0      xml-xerces/c/src/xercesc/internal/IGXMLScanner.hpp
  
  Index: IGXMLScanner.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/IGXMLScanner.hpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- IGXMLScanner.hpp  22 May 2003 02:10:51 -0000      1.7
  +++ IGXMLScanner.hpp  10 Jul 2003 19:47:23 -0000      1.8
  @@ -56,6 +56,10 @@
   
   /*
    * $Log$
  + * Revision 1.8  2003/07/10 19:47:23  peiyongz
  + * Stateless Grammar: Initialize scanner with grammarResolver,
  + *                                creating grammar through grammarPool
  + *
    * Revision 1.7  2003/05/22 02:10:51  knoaman
    * Default the memory manager.
    *
  @@ -113,6 +117,7 @@
       IGXMLScanner
       (
           XMLValidator* const valToAdopt
  +        , GrammarResolver* const grammarResolver
           , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
       IGXMLScanner
  @@ -122,6 +127,7 @@
           , XMLEntityHandler* const   entityHandler
           , XMLErrorReporter* const   errReporter
           , XMLValidator* const       valToAdopt
  +        , GrammarResolver* const    grammarResolver
           , MemoryManager* const      manager = XMLPlatformUtils::fgMemoryManager
       );
       virtual ~IGXMLScanner();
  
  
  
  1.27      +3 -7      xml-xerces/c/src/xercesc/internal/IGXMLScanner2.cpp
  
  Index: IGXMLScanner2.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/IGXMLScanner2.cpp,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- IGXMLScanner2.cpp 26 Jun 2003 16:56:41 -0000      1.26
  +++ IGXMLScanner2.cpp 10 Jul 2003 19:47:23 -0000      1.27
  @@ -869,8 +869,7 @@
       fGrammarResolver->cacheGrammarFromParse(fToCacheGrammar);
       fGrammarResolver->useCachedGrammarInParse(fUseCachedGrammar);
   
  -    //fDTDGrammar = fGrammarResolver->getGrammarPool()->createDTDGrammar();
  -    fDTDGrammar = new (fMemoryManager) DTDGrammar(fMemoryManager);
  +    fDTDGrammar = new (fGrammarPoolMemoryManager) 
DTDGrammar(fGrammarPoolMemoryManager);
       XMLDTDDescription* gramDesc = 
fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString);
       fGrammarResolver->putGrammar(gramDesc, fDTDGrammar);
       fGrammar = fDTDGrammar;
  @@ -1428,8 +1427,7 @@
                           }
                       }
   
  -                    //grammar = 
fGrammarResolver->getGrammarPool()->createSchemaGrammar();                    
  -                    grammar = new (fMemoryManager) SchemaGrammar(fMemoryManager);
  +                    grammar = new (fGrammarPoolMemoryManager) 
SchemaGrammar(fGrammarPoolMemoryManager);
                       TraverseSchema traverseSchema
                       (
                           root
  @@ -1600,9 +1598,7 @@
           DOMElement* root = document->getDocumentElement();// This is what we pass 
to TraverserSchema
           if (root != 0)
           {
  -            //SchemaGrammar* grammar = 
fGrammarResolver->getGrammarPool()->createSchemaGrammar();   
  -            SchemaGrammar* grammar = new (fMemoryManager) 
SchemaGrammar(fMemoryManager);
  -
  +            SchemaGrammar* grammar = new (fGrammarPoolMemoryManager) 
SchemaGrammar(fGrammarPoolMemoryManager);
               TraverseSchema traverseSchema
               (
                   root
  
  
  
  1.32      +7 -8      xml-xerces/c/src/xercesc/internal/SGXMLScanner.cpp
  
  Index: SGXMLScanner.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/SGXMLScanner.cpp,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- SGXMLScanner.cpp  26 Jun 2003 16:56:41 -0000      1.31
  +++ SGXMLScanner.cpp  10 Jul 2003 19:47:23 -0000      1.32
  @@ -91,9 +91,10 @@
   //  SGXMLScanner: Constructors and Destructor
   // ---------------------------------------------------------------------------
   SGXMLScanner::SGXMLScanner( XMLValidator* const valToAdopt
  +                          , GrammarResolver* const grammarResolver
                             , MemoryManager* const manager) :
   
  -    XMLScanner(valToAdopt, manager)
  +    XMLScanner(valToAdopt, grammarResolver, manager)
       , fSeeXsi(false)
       , fElemStateSize(16)
       , fElemState(0)
  @@ -132,9 +133,10 @@
                             , XMLEntityHandler* const   entityHandler
                             , XMLErrorReporter* const   errHandler
                             , XMLValidator* const       valToAdopt
  +                          , GrammarResolver* const    grammarResolver
                             , MemoryManager* const      manager) :
   
  -    XMLScanner(docHandler, docTypeHandler, entityHandler, errHandler, valToAdopt, 
manager)
  +    XMLScanner(docHandler, docTypeHandler, entityHandler, errHandler, valToAdopt, 
grammarResolver, manager)
       , fSeeXsi(false)
       , fElemStateSize(16)
       , fElemState(0)
  @@ -1878,8 +1880,7 @@
       fRawAttrList = new (fMemoryManager) RefVectorOf<KVStringPair>(32, true, 
fMemoryManager);
   
       // Create dummy schema grammar
  -    //fSchemaGrammar = fGrammarResolver->getGrammarPool()->createSchemaGrammar();   
  -    fSchemaGrammar = new (fMemoryManager) SchemaGrammar(fMemoryManager);
  +    fSchemaGrammar = new (fGrammarPoolMemoryManager) 
SchemaGrammar(fGrammarPoolMemoryManager);
   
       //  Create the Validator and init them
       fSchemaValidator = new (fMemoryManager) SchemaValidator(0, fMemoryManager);
  @@ -3181,8 +3182,7 @@
                           fElemStack.setValidationFlag(fValidate);
                       }
   
  -                    //grammar = 
fGrammarResolver->getGrammarPool()->createSchemaGrammar();   
  -                    grammar = new (fMemoryManager) SchemaGrammar(fMemoryManager);
  +                    grammar = new (fGrammarPoolMemoryManager) 
SchemaGrammar(fGrammarPoolMemoryManager);
   
                       TraverseSchema traverseSchema
                       (
  @@ -3335,8 +3335,7 @@
           DOMElement* root = document->getDocumentElement();// This is what we pass 
to TraverserSchema
           if (root != 0)
           {
  -            //SchemaGrammar* grammar = 
fGrammarResolver->getGrammarPool()->createSchemaGrammar();   
  -            SchemaGrammar* grammar = new (fMemoryManager) 
SchemaGrammar(fMemoryManager);
  +            SchemaGrammar* grammar = new (fGrammarPoolMemoryManager) 
SchemaGrammar(fGrammarPoolMemoryManager);
               TraverseSchema traverseSchema
               (
                   root
  
  
  
  1.8       +5 -0      xml-xerces/c/src/xercesc/internal/SGXMLScanner.hpp
  
  Index: SGXMLScanner.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/SGXMLScanner.hpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SGXMLScanner.hpp  16 May 2003 21:36:57 -0000      1.7
  +++ SGXMLScanner.hpp  10 Jul 2003 19:47:23 -0000      1.8
  @@ -56,6 +56,10 @@
   
   /*
    * $Log$
  + * Revision 1.8  2003/07/10 19:47:23  peiyongz
  + * Stateless Grammar: Initialize scanner with grammarResolver,
  + *                                creating grammar through grammarPool
  + *
    * Revision 1.7  2003/05/16 21:36:57  knoaman
    * Memory manager implementation: Modify constructors to pass in the memory manager.
    *
  @@ -112,6 +116,7 @@
       SGXMLScanner
       (
           XMLValidator* const       valToAdopt
  +        , GrammarResolver* const grammarResolver
           , MemoryManager* const    manager = XMLPlatformUtils::fgMemoryManager
       );
       SGXMLScanner
  @@ -121,6 +126,7 @@
           , XMLEntityHandler* const entityHandler
           , XMLErrorReporter* const errReporter
           , XMLValidator* const     valToAdopt
  +        , GrammarResolver* const  grammarResolver
           , MemoryManager* const    manager = XMLPlatformUtils::fgMemoryManager
       );
       virtual ~SGXMLScanner();
  
  
  
  1.13      +9 -7      xml-xerces/c/src/xercesc/internal/WFXMLScanner.cpp
  
  Index: WFXMLScanner.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/WFXMLScanner.cpp,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- WFXMLScanner.cpp  18 May 2003 14:02:04 -0000      1.12
  +++ WFXMLScanner.cpp  10 Jul 2003 19:47:23 -0000      1.13
  @@ -80,9 +80,10 @@
   //  WFXMLScanner: Constructors and Destructor
   // ---------------------------------------------------------------------------
   WFXMLScanner::WFXMLScanner( XMLValidator* const  valToAdopt
  +                          , GrammarResolver* const grammarResolver
                             , MemoryManager* const manager) :
   
  -    XMLScanner(valToAdopt, manager)
  +    XMLScanner(valToAdopt, grammarResolver, manager)
       , fElementIndex(0)
       , fElements(0)
       , fEntityTable(0)
  @@ -107,9 +108,10 @@
                             , XMLEntityHandler* const   entityHandler
                             , XMLErrorReporter* const   errHandler
                             , XMLValidator* const       valToAdopt
  +                          , GrammarResolver* const    grammarResolver
                             , MemoryManager* const      manager) :
   
  -    XMLScanner(docHandler, docTypeHandler, entityHandler, errHandler, valToAdopt, 
manager)
  +    XMLScanner(docHandler, docTypeHandler, entityHandler, errHandler, valToAdopt, 
grammarResolver, manager)
       , fElementIndex(0)
       , fElements(0)
       , fEntityTable(0)
  @@ -814,9 +816,9 @@
               elemDecl = fElements->elementAt(fElementIndex);
           }
           else {
  -            elemDecl = new (fMemoryManager) DTDElementDecl
  +            elemDecl = new (fGrammarPoolMemoryManager) DTDElementDecl
               (
  -                fMemoryManager
  +                fGrammarPoolMemoryManager
               );
               fElements->addElement(elemDecl);
           }
  @@ -1141,9 +1143,9 @@
               elemDecl = fElements->elementAt(fElementIndex);
           }
           else {
  -            elemDecl = new (fMemoryManager) DTDElementDecl
  +            elemDecl = new (fGrammarPoolMemoryManager) DTDElementDecl
               (
  -                fMemoryManager
  +                fGrammarPoolMemoryManager
               );
               fElements->addElement(elemDecl);
           }
  
  
  
  1.7       +5 -0      xml-xerces/c/src/xercesc/internal/WFXMLScanner.hpp
  
  Index: WFXMLScanner.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/WFXMLScanner.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- WFXMLScanner.hpp  16 May 2003 21:36:57 -0000      1.6
  +++ WFXMLScanner.hpp  10 Jul 2003 19:47:24 -0000      1.7
  @@ -56,6 +56,10 @@
   
   /*
    * $Log$
  + * Revision 1.7  2003/07/10 19:47:24  peiyongz
  + * Stateless Grammar: Initialize scanner with grammarResolver,
  + *                                creating grammar through grammarPool
  + *
    * Revision 1.6  2003/05/16 21:36:57  knoaman
    * Memory manager implementation: Modify constructors to pass in the memory manager.
    *
  @@ -100,6 +104,7 @@
       WFXMLScanner
       (
           XMLValidator* const       valToAdopt
  +        , GrammarResolver* const  grammarResolver
           , MemoryManager* const    manager = XMLPlatformUtils::fgMemoryManager
       );
       WFXMLScanner
  @@ -109,6 +114,7 @@
           , XMLEntityHandler* const entityHandler
           , XMLErrorReporter* const errReporter
           , XMLValidator* const     valToAdopt
  +        , GrammarResolver* const  grammarResolver
           , MemoryManager* const    manager = XMLPlatformUtils::fgMemoryManager
       );
       virtual ~WFXMLScanner();
  
  
  
  1.46      +7 -3      xml-xerces/c/src/xercesc/internal/XMLScanner.cpp
  
  Index: XMLScanner.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XMLScanner.cpp,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- XMLScanner.cpp    18 May 2003 14:02:04 -0000      1.45
  +++ XMLScanner.cpp    10 Jul 2003 19:47:24 -0000      1.46
  @@ -164,6 +164,7 @@
   //  XMLScanner: Constructors and Destructor
   // ---------------------------------------------------------------------------
   XMLScanner::XMLScanner(XMLValidator* const valToAdopt,
  +                       GrammarResolver* const grammarResolver,
                          MemoryManager* const manager) :
   
       fCalculateSrcOfs(false)
  @@ -199,7 +200,8 @@
       , fReaderMgr(manager)
       , fValidator(valToAdopt)
       , fValScheme(Val_Never)
  -    , fGrammarResolver(0)
  +    , fGrammarResolver(grammarResolver)
  +    , fGrammarPoolMemoryManager(grammarResolver->getGrammarPoolMemoryManager())
       , fGrammar(0)
       , fRootGrammar(0)
       , fURIStringPool(0)
  @@ -231,6 +233,7 @@
                             , XMLEntityHandler* const  entityHandler
                             , XMLErrorReporter* const  errHandler
                             , XMLValidator* const      valToAdopt
  +                          , GrammarResolver* const   grammarResolver
                             , MemoryManager* const     manager) :
   
       fCalculateSrcOfs(false)
  @@ -266,7 +269,8 @@
       , fReaderMgr(manager)
       , fValidator(valToAdopt)
       , fValScheme(Val_Never)
  -    , fGrammarResolver(0)
  +    , fGrammarResolver(grammarResolver)
  +    , fGrammarPoolMemoryManager(grammarResolver->getGrammarPoolMemoryManager())
       , fGrammar(0)
       , fRootGrammar(0)
       , fURIStringPool(0)
  
  
  
  1.23      +8 -9      xml-xerces/c/src/xercesc/internal/XMLScanner.hpp
  
  Index: XMLScanner.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XMLScanner.hpp,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- XMLScanner.hpp    16 May 2003 21:36:58 -0000      1.22
  +++ XMLScanner.hpp    10 Jul 2003 19:47:24 -0000      1.23
  @@ -56,6 +56,10 @@
   
   /*
    * $Log$
  + * Revision 1.23  2003/07/10 19:47:24  peiyongz
  + * Stateless Grammar: Initialize scanner with grammarResolver,
  + *                                creating grammar through grammarPool
  + *
    * Revision 1.22  2003/05/16 21:36:58  knoaman
    * Memory manager implementation: Modify constructors to pass in the memory manager.
    *
  @@ -283,7 +287,7 @@
   #include <xercesc/internal/ReaderMgr.hpp>
   #include <xercesc/validators/DTD/DTDEntityDecl.hpp>
   #include <xercesc/framework/XMLAttr.hpp>
  -
  +#include <xercesc/validators/common/GrammarResolver.hpp>
   
   XERCES_CPP_NAMESPACE_BEGIN
   
  @@ -295,7 +299,6 @@
   class XMLPScanToken;
   class XMLStringPool;
   class Grammar;
  -class GrammarResolver;
   class XMLValidator;
   class MemoryManager;
   
  @@ -368,6 +371,7 @@
       XMLScanner
       (
           XMLValidator* const valToAdopt
  +        , GrammarResolver* const grammarResolver
           , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
       XMLScanner
  @@ -377,6 +381,7 @@
           , XMLEntityHandler* const  entityHandler
           , XMLErrorReporter* const  errReporter
           , XMLValidator* const      valToAdopt
  +        , GrammarResolver* const grammarResolver
           , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
       virtual ~XMLScanner();
  @@ -551,7 +556,6 @@
       void setEntityHandler(XMLEntityHandler* const docTypeHandler);
       void setErrorReporter(XMLErrorReporter* const errHandler);
       void setErrorHandler(ErrorHandler* const handler);
  -    void setGrammarResolver(GrammarResolver* const grammarResolver);
       void setURIStringPool(XMLStringPool* const stringPool);
       void setExitOnFirstFatal(const bool newValue);
       void setValidationConstraintFatal(const bool newValue);
  @@ -919,7 +923,8 @@
       ReaderMgr                   fReaderMgr;
       XMLValidator*               fValidator;
       ValSchemes                  fValScheme;
  -    GrammarResolver*            fGrammarResolver;
  +    GrammarResolver* const      fGrammarResolver;
  +    MemoryManager* const        fGrammarPoolMemoryManager;
       Grammar*                    fGrammar;
       Grammar*                    fRootGrammar;
       XMLStringPool*              fURIStringPool;
  @@ -1221,11 +1226,6 @@
   inline void XMLScanner::setErrorReporter(XMLErrorReporter* const errHandler)
   {
       fErrorReporter = errHandler;
  -}
  -
  -inline void XMLScanner::setGrammarResolver(GrammarResolver* const grammarResolver)
  -{
  -    fGrammarResolver = grammarResolver;
   }
   
   inline void XMLScanner::setExitOnFirstFatal(const bool newValue)
  
  
  
  1.6       +13 -10    xml-xerces/c/src/xercesc/internal/XMLScannerResolver.cpp
  
  Index: XMLScannerResolver.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XMLScannerResolver.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XMLScannerResolver.cpp    15 May 2003 18:26:29 -0000      1.5
  +++ XMLScannerResolver.cpp    10 Jul 2003 19:47:24 -0000      1.6
  @@ -75,24 +75,26 @@
   // ---------------------------------------------------------------------------
   XMLScanner*
   XMLScannerResolver::getDefaultScanner( XMLValidator* const  valToAdopt
  +                                     , GrammarResolver* const grammarResolver
                                        , MemoryManager* const manager)
   {
  -    return new (manager) IGXMLScanner(valToAdopt, manager);
  +    return new (manager) IGXMLScanner(valToAdopt, grammarResolver, manager);
   }
   
   XMLScanner*
   XMLScannerResolver::resolveScanner( const XMLCh* const   scannerName
                                     , XMLValidator* const  valToAdopt
  +                                  , GrammarResolver* const grammarResolver
                                     , MemoryManager* const manager)
   {
       if (XMLString::equals(scannerName, XMLUni::fgWFXMLScanner))
  -        return new (manager) WFXMLScanner(valToAdopt, manager);
  +        return new (manager) WFXMLScanner(valToAdopt, grammarResolver, manager);
       else if (XMLString::equals(scannerName, XMLUni::fgIGXMLScanner))
  -        return new (manager) IGXMLScanner(valToAdopt, manager);
  +        return new (manager) IGXMLScanner(valToAdopt, grammarResolver, manager);
       else if (XMLString::equals(scannerName, XMLUni::fgSGXMLScanner))
  -        return new (manager) SGXMLScanner(valToAdopt, manager);
  +        return new (manager) SGXMLScanner(valToAdopt, grammarResolver, manager);
       else if (XMLString::equals(scannerName, XMLUni::fgDGXMLScanner))
  -        return new (manager) DGXMLScanner(valToAdopt, manager);
  +        return new (manager) DGXMLScanner(valToAdopt, grammarResolver, manager);
   
       // REVISIT: throw an exception or return a default one?
       return 0;
  @@ -105,16 +107,17 @@
                                     , XMLEntityHandler* const   entityHandler
                                     , XMLErrorReporter* const   errReporter
                                     , XMLValidator* const       valToAdopt
  +                                  , GrammarResolver* const    grammarResolver
                                     , MemoryManager* const      manager)
   {
       if (XMLString::equals(scannerName, XMLUni::fgWFXMLScanner))
  -        return new (manager) WFXMLScanner(docHandler, docTypeHandler, 
entityHandler, errReporter, valToAdopt, manager);
  +        return new (manager) WFXMLScanner(docHandler, docTypeHandler, 
entityHandler, errReporter, valToAdopt, grammarResolver, manager);
       else if (XMLString::equals(scannerName, XMLUni::fgIGXMLScanner))
  -        return new (manager) IGXMLScanner(docHandler, docTypeHandler, 
entityHandler, errReporter, valToAdopt, manager);
  +        return new (manager) IGXMLScanner(docHandler, docTypeHandler, 
entityHandler, errReporter, valToAdopt, grammarResolver, manager);
       else if (XMLString::equals(scannerName, XMLUni::fgSGXMLScanner))
  -        return new (manager) SGXMLScanner(docHandler, docTypeHandler, 
entityHandler, errReporter, valToAdopt, manager);
  +        return new (manager) SGXMLScanner(docHandler, docTypeHandler, 
entityHandler, errReporter, valToAdopt, grammarResolver, manager);
       else if (XMLString::equals(scannerName, XMLUni::fgDGXMLScanner))
  -        return new (manager) DGXMLScanner(docHandler, docTypeHandler, 
entityHandler, errReporter, valToAdopt, manager);
  +        return new (manager) DGXMLScanner(docHandler, docTypeHandler, 
entityHandler, errReporter, valToAdopt, grammarResolver, manager);
   
       // REVISIT: throw an exception or return a default one?
       return 0;
  
  
  
  1.4       +6 -0      xml-xerces/c/src/xercesc/internal/XMLScannerResolver.hpp
  
  Index: XMLScannerResolver.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XMLScannerResolver.hpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XMLScannerResolver.hpp    16 May 2003 21:36:58 -0000      1.3
  +++ XMLScannerResolver.hpp    10 Jul 2003 19:47:24 -0000      1.4
  @@ -56,6 +56,10 @@
   
   /*
    * $Log$
  + * Revision 1.4  2003/07/10 19:47:24  peiyongz
  + * Stateless Grammar: Initialize scanner with grammarResolver,
  + *                                creating grammar through grammarPool
  + *
    * Revision 1.3  2003/05/16 21:36:58  knoaman
    * Memory manager implementation: Modify constructors to pass in the memory manager.
    *
  @@ -90,6 +94,7 @@
       (
             const XMLCh* const   scannerName
           , XMLValidator* const  valToAdopt
  +        , GrammarResolver* const grammarResolver
           , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
   
  @@ -101,12 +106,14 @@
           , XMLEntityHandler* const   entityHandler
           , XMLErrorReporter* const   errReporter
           , XMLValidator* const       valToAdopt
  +        , GrammarResolver* const    grammarResolver
           , MemoryManager* const      manager = XMLPlatformUtils::fgMemoryManager
       );
   
       static XMLScanner* getDefaultScanner
       (
             XMLValidator* const  valToAdopt
  +        , GrammarResolver* const grammarResolver
           , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
   
  
  
  

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

Reply via email to