peiyongz 2003/06/25 15:36:01 Modified: c/src/xercesc/internal DGXMLScanner.cpp IGXMLScanner.cpp IGXMLScanner2.cpp SGXMLScanner.cpp Log: to use new GrammarResolver::getGrammar() Revision Changes Path 1.18 +4 -2 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.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- DGXMLScanner.cpp 25 Jun 2003 19:31:30 -0000 1.17 +++ DGXMLScanner.cpp 25 Jun 2003 22:35:58 -0000 1.18 @@ -919,7 +919,9 @@ { InputSource* sysIdSrc = resolveSystemId(sysId); Janitor<InputSource> janSysIdSrc(sysIdSrc); - Grammar* grammar = fGrammarResolver->getGrammar(sysIdSrc->getSystemId()); + XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(sysIdSrc->getSystemId()); + Janitor<XMLDTDDescription> janName(gramDesc); + Grammar* grammar = fGrammarResolver->getGrammar(gramDesc); if (grammar && grammar->getGrammarType() == Grammar::DTDGrammarType) { 1.17 +4 -2 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.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- IGXMLScanner.cpp 25 Jun 2003 19:31:30 -0000 1.16 +++ IGXMLScanner.cpp 25 Jun 2003 22:35:59 -0000 1.17 @@ -1325,7 +1325,9 @@ { InputSource* sysIdSrc = resolveSystemId(sysId); Janitor<InputSource> janSysIdSrc(sysIdSrc); - Grammar* grammar = fGrammarResolver->getGrammar(sysIdSrc->getSystemId()); + XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(sysIdSrc->getSystemId()); + Janitor<XMLDTDDescription> janName(gramDesc); + Grammar* grammar = fGrammarResolver->getGrammar(gramDesc); if (grammar && grammar->getGrammarType() == Grammar::DTDGrammarType) { 1.25 +14 -5 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.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- IGXMLScanner2.cpp 25 Jun 2003 19:31:30 -0000 1.24 +++ IGXMLScanner2.cpp 25 Jun 2003 22:35:59 -0000 1.25 @@ -79,6 +79,7 @@ #include <xercesc/framework/XMLRefInfo.hpp> #include <xercesc/framework/XMLGrammarPool.hpp> #include <xercesc/framework/XMLDTDDescription.hpp> +#include <xercesc/framework/XMLSchemaDescription.hpp> #include <xercesc/validators/common/ContentLeafNameTypeVector.hpp> #include <xercesc/validators/DTD/DTDGrammar.hpp> #include <xercesc/validators/DTD/DTDValidator.hpp> @@ -216,7 +217,9 @@ //if schema, see if we should lax or skip the validation of this attribute if (anyAttributeValidation(attWildCard, uriId, skipThisOne, laxThisOne)) { - SchemaGrammar* sGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(getURIText(uriId)); + XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(getURIText(uriId)); + Janitor<XMLSchemaDescription> janName(gramDesc); + SchemaGrammar* sGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(gramDesc); if (sGrammar && sGrammar->getGrammarType() == Grammar::SchemaGrammarType) { RefHashTableOf<XMLAttDef>* attRegistry = sGrammar->getAttributeDeclRegistry(); if (attRegistry) { @@ -1294,7 +1297,9 @@ void IGXMLScanner::resolveSchemaGrammar(const XMLCh* const loc, const XMLCh* const uri) { - Grammar* grammar = fGrammarResolver->getGrammar(uri); + XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(uri); + Janitor<XMLSchemaDescription> janName(gramDesc); + Grammar* grammar = fGrammarResolver->getGrammar(gramDesc); if (!grammar || grammar->getGrammarType() == Grammar::DTDGrammarType) { XSDDOMParser parser(0, fMemoryManager, 0); @@ -1396,7 +1401,9 @@ fValidator->emitError(XMLValid::WrongTargetNamespace, loc, uri); } - grammar = fGrammarResolver->getGrammar(newUri); + XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(newUri); + Janitor<XMLSchemaDescription> janName(gramDesc); + grammar = fGrammarResolver->getGrammar(gramDesc); } if (!grammar || grammar->getGrammarType() == Grammar::DTDGrammarType) { @@ -2602,7 +2609,9 @@ bool IGXMLScanner::switchGrammar(const XMLCh* const newGrammarNameSpace) { - Grammar* tempGrammar = fGrammarResolver->getGrammar(newGrammarNameSpace); + XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(newGrammarNameSpace); + Janitor<XMLSchemaDescription> janName(gramDesc); + Grammar* tempGrammar = fGrammarResolver->getGrammar(gramDesc); if (!tempGrammar) { // This is a case where namespaces is on with a DTD grammar. 1.30 +14 -5 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.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- SGXMLScanner.cpp 25 Jun 2003 17:25:33 -0000 1.29 +++ SGXMLScanner.cpp 25 Jun 2003 22:36:00 -0000 1.30 @@ -72,6 +72,7 @@ #include <xercesc/framework/XMLPScanToken.hpp> #include <xercesc/framework/MemoryManager.hpp> #include <xercesc/framework/XMLGrammarPool.hpp> +#include <xercesc/framework/XMLSchemaDescription.hpp> #include <xercesc/internal/EndOfEntityException.hpp> #include <xercesc/validators/common/ContentLeafNameTypeVector.hpp> #include <xercesc/validators/schema/SchemaValidator.hpp> @@ -2052,7 +2053,9 @@ //if schema, see if we should lax or skip the validation of this attribute if (anyAttributeValidation(attWildCard, uriId, skipThisOne, laxThisOne)) { - SchemaGrammar* sGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(getURIText(uriId)); + XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(getURIText(uriId)); + Janitor<XMLSchemaDescription> janName(gramDesc); + SchemaGrammar* sGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(gramDesc); if (sGrammar && sGrammar->getGrammarType() == Grammar::SchemaGrammarType) { RefHashTableOf<XMLAttDef>* attRegistry = sGrammar->getAttributeDeclRegistry(); if (attRegistry) { @@ -3059,7 +3062,9 @@ void SGXMLScanner::resolveSchemaGrammar(const XMLCh* const loc, const XMLCh* const uri) { - Grammar* grammar = fGrammarResolver->getGrammar(uri); + XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(uri); + Janitor<XMLSchemaDescription> janName(gramDesc); + Grammar* grammar = fGrammarResolver->getGrammar(gramDesc); if (!grammar || grammar->getGrammarType() == Grammar::DTDGrammarType) { XSDDOMParser parser(0, fMemoryManager, 0); @@ -3161,7 +3166,9 @@ fValidator->emitError(XMLValid::WrongTargetNamespace, loc, uri); } - grammar = fGrammarResolver->getGrammar(newUri); + XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(newUri); + Janitor<XMLSchemaDescription> janName(gramDesc); + grammar = fGrammarResolver->getGrammar(gramDesc); } if (!grammar || grammar->getGrammarType() == Grammar::DTDGrammarType) { @@ -3980,7 +3987,9 @@ bool SGXMLScanner::switchGrammar(const XMLCh* const newGrammarNameSpace) { - Grammar* tempGrammar = fGrammarResolver->getGrammar(newGrammarNameSpace); + XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(newGrammarNameSpace); + Janitor<XMLSchemaDescription> janName(gramDesc); + Grammar* tempGrammar = fGrammarResolver->getGrammar(gramDesc); if (!tempGrammar) { tempGrammar = fSchemaGrammar;
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]