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]