From 61b2f7237362d963ce5f006d7f256306d8748a9c Mon Sep 17 00:00:00 2001 From: PeiYong Zhang <peiyongz@apache.org> Date: Wed, 25 Jun 2003 19:31:30 +0000 Subject: [PATCH] using new putGrammar() git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@175099 13f79535-47bb-0310-9956-ffa450edef68 --- src/xercesc/internal/DGXMLScanner.cpp | 12 ++++++++---- src/xercesc/internal/IGXMLScanner.cpp | 9 ++++++--- src/xercesc/internal/IGXMLScanner2.cpp | 4 +++- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/xercesc/internal/DGXMLScanner.cpp b/src/xercesc/internal/DGXMLScanner.cpp index d8bf17cf8..4856de95a 100644 --- a/src/xercesc/internal/DGXMLScanner.cpp +++ b/src/xercesc/internal/DGXMLScanner.cpp @@ -977,7 +977,8 @@ void DGXMLScanner::scanDocTypeDecl() XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString); fGrammarResolver->orphanGrammar(gramDesc); - fGrammarResolver->putGrammar(sysIdStr, fGrammar); + gramDesc->setRootName(sysIdStr); + fGrammarResolver->putGrammar(gramDesc, fGrammar); } // In order to make the processing work consistently, we have to @@ -1679,7 +1680,8 @@ Grammar* DGXMLScanner::loadDTDGrammar(const InputSource& src, fValidator->reset(); fDTDGrammar = fGrammarResolver->getGrammarPool()->createDTDGrammar(); - fGrammarResolver->putGrammar(XMLUni::fgDTDEntityString, fDTDGrammar); + XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString); + fGrammarResolver->putGrammar(gramDesc, fDTDGrammar); fGrammar = fDTDGrammar; fValidator->setGrammar(fGrammar); @@ -1702,7 +1704,8 @@ Grammar* DGXMLScanner::loadDTDGrammar(const InputSource& src, XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString); fGrammarResolver->orphanGrammar(gramDesc); - fGrammarResolver->putGrammar(sysIdStr, fGrammar); + gramDesc->setRootName(sysIdStr); + fGrammarResolver->putGrammar(gramDesc, fGrammar); } // Handle the creation of the XML reader object for this input source. @@ -2034,7 +2037,8 @@ void DGXMLScanner::scanReset(const InputSource& src) fGrammarResolver->useCachedGrammarInParse(fUseCachedGrammar); fDTDGrammar = fGrammarResolver->getGrammarPool()->createDTDGrammar(); - fGrammarResolver->putGrammar(XMLUni::fgDTDEntityString, fDTDGrammar); + XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString); + fGrammarResolver->putGrammar(gramDesc, fDTDGrammar); fGrammar = fDTDGrammar; fRootGrammar = 0; fValidator->setGrammar(fGrammar); diff --git a/src/xercesc/internal/IGXMLScanner.cpp b/src/xercesc/internal/IGXMLScanner.cpp index 407d125c3..5d6812682 100644 --- a/src/xercesc/internal/IGXMLScanner.cpp +++ b/src/xercesc/internal/IGXMLScanner.cpp @@ -1383,7 +1383,8 @@ void IGXMLScanner::scanDocTypeDecl() XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString); fGrammarResolver->orphanGrammar(gramDesc); - fGrammarResolver->putGrammar(sysIdStr, fGrammar); + gramDesc->setRootName(sysIdStr); + fGrammarResolver->putGrammar(gramDesc, fGrammar); } // In order to make the processing work consistently, we have to @@ -2849,7 +2850,8 @@ Grammar* IGXMLScanner::loadDTDGrammar(const InputSource& src, } fDTDGrammar = fGrammarResolver->getGrammarPool()->createDTDGrammar(); - fGrammarResolver->putGrammar(XMLUni::fgDTDEntityString, fDTDGrammar); + XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString); + fGrammarResolver->putGrammar(gramDesc, fDTDGrammar); fGrammar = fDTDGrammar; fGrammarType = fGrammar->getGrammarType(); fValidator->setGrammar(fGrammar); @@ -2873,7 +2875,8 @@ Grammar* IGXMLScanner::loadDTDGrammar(const InputSource& src, XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString); fGrammarResolver->orphanGrammar(gramDesc); - fGrammarResolver->putGrammar(sysIdStr, fGrammar); + gramDesc->setRootName(sysIdStr); + fGrammarResolver->putGrammar(gramDesc, fGrammar); } // Handle the creation of the XML reader object for this input source. diff --git a/src/xercesc/internal/IGXMLScanner2.cpp b/src/xercesc/internal/IGXMLScanner2.cpp index ea921524f..ea01a084a 100644 --- a/src/xercesc/internal/IGXMLScanner2.cpp +++ b/src/xercesc/internal/IGXMLScanner2.cpp @@ -78,6 +78,7 @@ #include <xercesc/framework/XMLPScanToken.hpp> #include <xercesc/framework/XMLRefInfo.hpp> #include <xercesc/framework/XMLGrammarPool.hpp> +#include <xercesc/framework/XMLDTDDescription.hpp> #include <xercesc/validators/common/ContentLeafNameTypeVector.hpp> #include <xercesc/validators/DTD/DTDGrammar.hpp> #include <xercesc/validators/DTD/DTDValidator.hpp> @@ -866,7 +867,8 @@ void IGXMLScanner::scanReset(const InputSource& src) fGrammarResolver->useCachedGrammarInParse(fUseCachedGrammar); fDTDGrammar = fGrammarResolver->getGrammarPool()->createDTDGrammar(); - fGrammarResolver->putGrammar(XMLUni::fgDTDEntityString, fDTDGrammar); + XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString); + fGrammarResolver->putGrammar(gramDesc, fDTDGrammar); fGrammar = fDTDGrammar; fGrammarType = fGrammar->getGrammarType(); fRootGrammar = 0; -- GitLab