peiyongz 2003/06/20 12:03:05 Modified: c/src/xercesc/validators/schema Makefile.in SchemaValidator.cpp TraverseSchema.cpp XSDDOMParser.cpp XSDDOMParser.hpp Log: Stateless Grammar Pool :: Part I Revision Changes Path 1.8 +5 -0 xml-xerces/c/src/xercesc/validators/schema/Makefile.in Index: Makefile.in =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/Makefile.in,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- Makefile.in 29 Jan 2003 19:48:06 -0000 1.7 +++ Makefile.in 20 Jun 2003 19:03:03 -0000 1.8 @@ -55,6 +55,9 @@ # # # $Log$ +# Revision 1.8 2003/06/20 19:03:03 peiyongz +# Stateless Grammar Pool :: Part I +# # Revision 1.7 2003/01/29 19:48:06 gareth # updated for PSVIDefs.hpp # @@ -173,6 +176,7 @@ XercesAttGroupInfo.hpp \ XercesElementWildcard.hpp \ XercesGroupInfo.hpp \ + XMLSchemaDescriptionImpl.hpp \ XUtil.hpp \ XSDDOMParser.hpp \ XSDLocator.hpp \ @@ -198,6 +202,7 @@ XercesAttGroupInfo.$(TO) \ XercesElementWildcard.$(TO) \ XercesGroupInfo.$(TO) \ + XMLSchemaDescriptionImpl.$(TO) \ XUtil.$(TO) \ XSDDOMParser.$(TO) \ XSDLocator.$(TO) \ 1.33 +7 -2 xml-xerces/c/src/xercesc/validators/schema/SchemaValidator.cpp Index: SchemaValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/SchemaValidator.cpp,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- SchemaValidator.cpp 18 May 2003 14:02:08 -0000 1.32 +++ SchemaValidator.cpp 20 Jun 2003 19:03:03 -0000 1.33 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.33 2003/06/20 19:03:03 peiyongz + * Stateless Grammar Pool :: Part I + * * Revision 1.32 2003/05/18 14:02:08 knoaman * Memory manager implementation: pass per instance manager. * @@ -258,6 +261,8 @@ #include <xercesc/validators/schema/XercesGroupInfo.hpp> #include <xercesc/validators/schema/XSDLocator.hpp> +#include <xercesc/internal/XMLGrammarPoolImpl.hpp> + XERCES_CPP_NAMESPACE_BEGIN // --------------------------------------------------------------------------- @@ -983,10 +988,10 @@ // And enumerate all the complextype info in the grammar // and do Unique Particle Attribution Checking - RefHashTableOfEnumerator<Grammar> grammarEnum = fGrammarResolver->getGrammarEnumerator(); + RefHashTableOfEnumerator<GrammarEntry> grammarEnum = fGrammarResolver->getGrammarEnumerator(); while (grammarEnum.hasMoreElements()) { - SchemaGrammar& sGrammar = (SchemaGrammar&) grammarEnum.nextElement(); + SchemaGrammar& sGrammar = (SchemaGrammar&) *(grammarEnum.nextElement().getGrammar()); if (sGrammar.getGrammarType() != Grammar::SchemaGrammarType || sGrammar.getValidated()) continue; 1.78 +3 -3 xml-xerces/c/src/xercesc/validators/schema/TraverseSchema.cpp Index: TraverseSchema.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/TraverseSchema.cpp,v retrieving revision 1.77 retrieving revision 1.78 diff -u -r1.77 -r1.78 --- TraverseSchema.cpp 12 Jun 2003 15:23:46 -0000 1.77 +++ TraverseSchema.cpp 20 Jun 2003 19:03:03 -0000 1.78 @@ -518,7 +518,7 @@ // Parse input source // ------------------------------------------------------------------ if (!fParser) - fParser = new (fMemoryManager) XSDDOMParser(0, fMemoryManager); + fParser = new (fMemoryManager) XSDDOMParser(0, fMemoryManager, 0); fParser->setValidationScheme(XercesDOMParser::Val_Never); fParser->setDoNamespaces(true); @@ -697,7 +697,7 @@ // Parse input source // ------------------------------------------------------------------ if (!fParser) - fParser = new (fMemoryManager) XSDDOMParser(0, fMemoryManager); + fParser = new (fMemoryManager) XSDDOMParser(0, fMemoryManager, 0); fParser->setValidationScheme(XercesDOMParser::Val_Never); fParser->setDoNamespaces(true); @@ -7527,7 +7527,7 @@ // Parse input source // ------------------------------------------------------------------ if (!fParser) - fParser = new (fMemoryManager) XSDDOMParser(0, fMemoryManager); + fParser = new (fMemoryManager) XSDDOMParser(0,fMemoryManager, 0); fParser->setValidationScheme(XercesDOMParser::Val_Never); fParser->setDoNamespaces(true); 1.10 +5 -4 xml-xerces/c/src/xercesc/validators/schema/XSDDOMParser.cpp Index: XSDDOMParser.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/XSDDOMParser.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- XSDDOMParser.cpp 15 May 2003 18:57:27 -0000 1.9 +++ XSDDOMParser.cpp 20 Jun 2003 19:03:04 -0000 1.10 @@ -72,9 +72,10 @@ // --------------------------------------------------------------------------- // XSDDOMParser: Constructors and Destructor // --------------------------------------------------------------------------- -XSDDOMParser::XSDDOMParser( XMLValidator* const valToAdopt - , MemoryManager* const manager) : - XercesDOMParser(valToAdopt, manager) +XSDDOMParser::XSDDOMParser( XMLValidator* const valToAdopt + , MemoryManager* const manager + , XMLGrammarPool* const gramPool): + XercesDOMParser(valToAdopt, manager, gramPool) , fSawFatal(false) , fUserErrorReporter(0) { 1.8 +8 -3 xml-xerces/c/src/xercesc/validators/schema/XSDDOMParser.hpp Index: XSDDOMParser.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/XSDDOMParser.hpp,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- XSDDOMParser.hpp 15 May 2003 18:57:27 -0000 1.7 +++ XSDDOMParser.hpp 20 Jun 2003 19:03:04 -0000 1.8 @@ -90,13 +90,18 @@ * validation. If you don't provide a validator, a default one will * be created for you in the scanner. * + * @param gramPool Pointer to the grammar pool instance from + * external application. + * The parser does NOT own it. + * * @param valToAdopt Pointer to the validator instance to use. The * parser is responsible for freeing the memory. */ XSDDOMParser ( - XMLValidator* const valToAdopt = 0 - , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager + XMLValidator* const valToAdopt = 0 + , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager + , XMLGrammarPool* const gramPool = 0 ); /**
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]