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]