You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by pe...@apache.org on 2003/07/31 19:05:03 UTC
cvs commit: xml-xerces/c/src/xercesc/internal DGXMLScanner.cpp IGXMLScanner.cpp IGXMLScanner2.cpp SGXMLScanner.cpp XMLGrammarPoolImpl.cpp XMLGrammarPoolImpl.hpp
peiyongz 2003/07/31 10:05:03
Modified: c/src/xercesc/internal DGXMLScanner.cpp IGXMLScanner.cpp
IGXMLScanner2.cpp SGXMLScanner.cpp
XMLGrammarPoolImpl.cpp XMLGrammarPoolImpl.hpp
Log:
Grammar embed Grammar Description
using getGrammar(URI)
update GrammarDescription info
Revision Changes Path
1.22 +11 -17 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.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- DGXMLScanner.cpp 24 Jul 2003 09:19:08 -0000 1.21
+++ DGXMLScanner.cpp 31 Jul 2003 17:05:03 -0000 1.22
@@ -923,9 +923,7 @@
{
InputSource* sysIdSrc = resolveSystemId(sysId);
Janitor<InputSource> janSysIdSrc(sysIdSrc);
- XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(sysIdSrc->getSystemId());
- Janitor<XMLDTDDescription> janName(gramDesc);
- Grammar* grammar = fGrammarResolver->getGrammar(gramDesc);
+ Grammar* grammar = fGrammarResolver->getGrammar(sysIdSrc->getSystemId());
if (grammar && grammar->getGrammarType() == Grammar::DTDGrammarType) {
@@ -981,10 +979,9 @@
unsigned int stringId = fGrammarResolver->getStringPool()->addOrFind(srcUsed->getSystemId());
const XMLCh* sysIdStr = fGrammarResolver->getStringPool()->getValueForId(stringId);
- XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString);
- fGrammarResolver->orphanGrammar(gramDesc);
- gramDesc->setRootName(sysIdStr);
- fGrammarResolver->putGrammar(gramDesc, fGrammar);
+ fGrammarResolver->orphanGrammar(XMLUni::fgDTDEntityString);
+ ((XMLDTDDescription*) (fGrammar->getGrammarDescription()))->setRootName(sysIdStr);
+ fGrammarResolver->putGrammar(fGrammar);
}
// In order to make the processing work consistently, we have to
@@ -1686,8 +1683,7 @@
fValidator->reset();
fDTDGrammar = new (fGrammarPoolMemoryManager) DTDGrammar(fGrammarPoolMemoryManager);
- XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString);
- fGrammarResolver->putGrammar(gramDesc, fDTDGrammar);
+ fGrammarResolver->putGrammar(fDTDGrammar);
fGrammar = fDTDGrammar;
fValidator->setGrammar(fGrammar);
@@ -1708,10 +1704,9 @@
unsigned int sysId = fGrammarResolver->getStringPool()->addOrFind(src.getSystemId());
const XMLCh* sysIdStr = fGrammarResolver->getStringPool()->getValueForId(sysId);
- XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString);
- fGrammarResolver->orphanGrammar(gramDesc);
- gramDesc->setRootName(sysIdStr);
- fGrammarResolver->putGrammar(gramDesc, fGrammar);
+ fGrammarResolver->orphanGrammar(XMLUni::fgDTDEntityString);
+ ((XMLDTDDescription*) (fGrammar->getGrammarDescription()))->setRootName(sysIdStr);
+ fGrammarResolver->putGrammar(fGrammar);
}
// Handle the creation of the XML reader object for this input source.
@@ -2044,8 +2039,7 @@
fGrammarResolver->useCachedGrammarInParse(fUseCachedGrammar);
fDTDGrammar = new (fGrammarPoolMemoryManager) DTDGrammar(fGrammarPoolMemoryManager);
- XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString);
- fGrammarResolver->putGrammar(gramDesc, fDTDGrammar);
+ fGrammarResolver->putGrammar(fDTDGrammar);
fGrammar = fDTDGrammar;
fRootGrammar = 0;
fValidator->setGrammar(fGrammar);
@@ -2291,7 +2285,7 @@
// check for duplicate namespace attributes:
// by checking for qualified names with the same local part and with prefixes
- // which have been bound to namespace names that are identical.
+ // which have been bound to namespace names that are identical.
XMLAttr* loopAttr;
for (int attrIndex=0; attrIndex < index; attrIndex++) {
loopAttr = theAttrList->elementAt(attrIndex);
@@ -2304,7 +2298,7 @@
, elemDecl->getFullName()
);
}
- }
+ }
}
}
1.20 +10 -15 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.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- IGXMLScanner.cpp 10 Jul 2003 19:47:23 -0000 1.19
+++ IGXMLScanner.cpp 31 Jul 2003 17:05:03 -0000 1.20
@@ -1328,9 +1328,7 @@
{
InputSource* sysIdSrc = resolveSystemId(sysId);
Janitor<InputSource> janSysIdSrc(sysIdSrc);
- XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(sysIdSrc->getSystemId());
- Janitor<XMLDTDDescription> janName(gramDesc);
- Grammar* grammar = fGrammarResolver->getGrammar(gramDesc);
+ Grammar* grammar = fGrammarResolver->getGrammar(sysIdSrc->getSystemId());
if (grammar && grammar->getGrammarType() == Grammar::DTDGrammarType) {
@@ -1386,10 +1384,9 @@
unsigned int stringId = fGrammarResolver->getStringPool()->addOrFind(srcUsed->getSystemId());
const XMLCh* sysIdStr = fGrammarResolver->getStringPool()->getValueForId(stringId);
- XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString);
- fGrammarResolver->orphanGrammar(gramDesc);
- gramDesc->setRootName(sysIdStr);
- fGrammarResolver->putGrammar(gramDesc, fGrammar);
+ fGrammarResolver->orphanGrammar(XMLUni::fgDTDEntityString);
+ ((XMLDTDDescription*) (fGrammar->getGrammarDescription()))->setRootName(sysIdStr);
+ fGrammarResolver->putGrammar(fGrammar);
}
// In order to make the processing work consistently, we have to
@@ -2855,8 +2852,7 @@
}
fDTDGrammar = new (fGrammarPoolMemoryManager) DTDGrammar(fGrammarPoolMemoryManager);
- XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString);
- fGrammarResolver->putGrammar(gramDesc, fDTDGrammar);
+ fGrammarResolver->putGrammar(fDTDGrammar);
fGrammar = fDTDGrammar;
fGrammarType = fGrammar->getGrammarType();
fValidator->setGrammar(fGrammar);
@@ -2877,11 +2873,10 @@
unsigned int sysId = fGrammarResolver->getStringPool()->addOrFind(src.getSystemId());
const XMLCh* sysIdStr = fGrammarResolver->getStringPool()->getValueForId(sysId);
-
- XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString);
- fGrammarResolver->orphanGrammar(gramDesc);
- gramDesc->setRootName(sysIdStr);
- fGrammarResolver->putGrammar(gramDesc, fGrammar);
+
+ fGrammarResolver->orphanGrammar(XMLUni::fgDTDEntityString);
+ ((XMLDTDDescription*) (fGrammar->getGrammarDescription()))->setRootName(sysIdStr);
+ fGrammarResolver->putGrammar(fGrammar);
}
// Handle the creation of the XML reader object for this input source.
1.29 +16 -17 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.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- IGXMLScanner2.cpp 24 Jul 2003 09:19:09 -0000 1.28
+++ IGXMLScanner2.cpp 31 Jul 2003 17:05:03 -0000 1.29
@@ -217,9 +217,7 @@
//if schema, see if we should lax or skip the validation of this attribute
if (anyAttributeValidation(attWildCard, uriId, skipThisOne, laxThisOne)) {
- XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(getURIText(uriId));
- Janitor<XMLSchemaDescription> janName(gramDesc);
- SchemaGrammar* sGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(gramDesc);
+ SchemaGrammar* sGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(getURIText(uriId));
if (sGrammar && sGrammar->getGrammarType() == Grammar::SchemaGrammarType) {
RefHashTableOf<XMLAttDef>* attRegistry = sGrammar->getAttributeDeclRegistry();
if (attRegistry) {
@@ -457,7 +455,7 @@
// to the handler. We reuse its existing elements but expand it as
// required.
XMLAttr* curAttr;
-
+
// check for duplicate namespace attributes:
// by checking for qualified names with the same local part and with prefixes
// which have been bound to namespace names that are identical.
@@ -475,7 +473,7 @@
}
}
}
-
+
if (retCount >= curAttListSize)
{
curAttr = new (fMemoryManager) XMLAttr
@@ -889,8 +887,7 @@
fGrammarResolver->useCachedGrammarInParse(fUseCachedGrammar);
fDTDGrammar = new (fGrammarPoolMemoryManager) DTDGrammar(fGrammarPoolMemoryManager);
- XMLDTDDescription* gramDesc = fGrammarResolver->getGrammarPool()->createDTDDescription(XMLUni::fgDTDEntityString);
- fGrammarResolver->putGrammar(gramDesc, fDTDGrammar);
+ fGrammarResolver->putGrammar(fDTDGrammar);
fGrammar = fDTDGrammar;
fGrammarType = fGrammar->getGrammarType();
fRootGrammar = 0;
@@ -1316,9 +1313,7 @@
void IGXMLScanner::resolveSchemaGrammar(const XMLCh* const loc, const XMLCh* const uri) {
- XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(uri);
- Janitor<XMLSchemaDescription> janName(gramDesc);
- Grammar* grammar = fGrammarResolver->getGrammar(gramDesc);
+ Grammar* grammar = fGrammarResolver->getGrammar(uri);
if (!grammar || grammar->getGrammarType() == Grammar::DTDGrammarType) {
XSDDOMParser parser(0, fMemoryManager, 0);
@@ -1420,9 +1415,7 @@
fValidator->emitError(XMLValid::WrongTargetNamespace, loc, uri);
}
- XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(newUri);
- Janitor<XMLSchemaDescription> janName(gramDesc);
- grammar = fGrammarResolver->getGrammar(gramDesc);
+ grammar = fGrammarResolver->getGrammar(newUri);
}
if (!grammar || grammar->getGrammarType() == Grammar::DTDGrammarType) {
@@ -1447,6 +1440,10 @@
}
grammar = new (fGrammarPoolMemoryManager) SchemaGrammar(fGrammarPoolMemoryManager);
+ XMLSchemaDescription* gramDesc = (XMLSchemaDescription*) grammar->getGrammarDescription();
+ gramDesc->setContextType(XMLSchemaDescription::CONTEXT_PREPARSE);
+ gramDesc->setLocationHints(srcToFill->getSystemId());
+
TraverseSchema traverseSchema
(
root
@@ -1617,7 +1614,11 @@
DOMElement* root = document->getDocumentElement();// This is what we pass to TraverserSchema
if (root != 0)
{
- SchemaGrammar* grammar = new (fGrammarPoolMemoryManager) SchemaGrammar(fGrammarPoolMemoryManager);
+ SchemaGrammar* grammar = new (fGrammarPoolMemoryManager) SchemaGrammar(fGrammarPoolMemoryManager);
+ XMLSchemaDescription* gramDesc = (XMLSchemaDescription*) grammar->getGrammarDescription();
+ gramDesc->setContextType(XMLSchemaDescription::CONTEXT_PREPARSE);
+ gramDesc->setLocationHints(src.getSystemId());
+
TraverseSchema traverseSchema
(
root
@@ -2627,9 +2628,7 @@
bool IGXMLScanner::switchGrammar(const XMLCh* const newGrammarNameSpace)
{
- XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(newGrammarNameSpace);
- Janitor<XMLSchemaDescription> janName(gramDesc);
- Grammar* tempGrammar = fGrammarResolver->getGrammar(gramDesc);
+ Grammar* tempGrammar = fGrammarResolver->getGrammar(newGrammarNameSpace);
if (!tempGrammar) {
// This is a case where namespaces is on with a DTD grammar.
1.33 +12 -13 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.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- SGXMLScanner.cpp 10 Jul 2003 19:47:23 -0000 1.32
+++ SGXMLScanner.cpp 31 Jul 2003 17:05:03 -0000 1.33
@@ -2055,9 +2055,7 @@
//if schema, see if we should lax or skip the validation of this attribute
if (anyAttributeValidation(attWildCard, uriId, skipThisOne, laxThisOne)) {
- XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(getURIText(uriId));
- Janitor<XMLSchemaDescription> janName(gramDesc);
- SchemaGrammar* sGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(gramDesc);
+ SchemaGrammar* sGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(getURIText(uriId));
if (sGrammar && sGrammar->getGrammarType() == Grammar::SchemaGrammarType) {
RefHashTableOf<XMLAttDef>* attRegistry = sGrammar->getAttributeDeclRegistry();
if (attRegistry) {
@@ -3064,9 +3062,7 @@
void SGXMLScanner::resolveSchemaGrammar(const XMLCh* const loc, const XMLCh* const uri) {
- XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(uri);
- Janitor<XMLSchemaDescription> janName(gramDesc);
- Grammar* grammar = fGrammarResolver->getGrammar(gramDesc);
+ Grammar* grammar = fGrammarResolver->getGrammar(uri);
if (!grammar || grammar->getGrammarType() == Grammar::DTDGrammarType) {
XSDDOMParser parser(0, fMemoryManager, 0);
@@ -3168,9 +3164,7 @@
fValidator->emitError(XMLValid::WrongTargetNamespace, loc, uri);
}
- XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(newUri);
- Janitor<XMLSchemaDescription> janName(gramDesc);
- grammar = fGrammarResolver->getGrammar(gramDesc);
+ grammar = fGrammarResolver->getGrammar(newUri);
}
if (!grammar || grammar->getGrammarType() == Grammar::DTDGrammarType) {
@@ -3183,6 +3177,9 @@
}
grammar = new (fGrammarPoolMemoryManager) SchemaGrammar(fGrammarPoolMemoryManager);
+ XMLSchemaDescription* gramDesc = (XMLSchemaDescription*) grammar->getGrammarDescription();
+ gramDesc->setContextType(XMLSchemaDescription::CONTEXT_PREPARSE);
+ gramDesc->setLocationHints(srcToFill->getSystemId());
TraverseSchema traverseSchema
(
@@ -3336,6 +3333,10 @@
if (root != 0)
{
SchemaGrammar* grammar = new (fGrammarPoolMemoryManager) SchemaGrammar(fGrammarPoolMemoryManager);
+ XMLSchemaDescription* gramDesc = (XMLSchemaDescription*) grammar->getGrammarDescription();
+ gramDesc->setContextType(XMLSchemaDescription::CONTEXT_PREPARSE);
+ gramDesc->setLocationHints(src.getSystemId());
+
TraverseSchema traverseSchema
(
root
@@ -3989,9 +3990,7 @@
bool SGXMLScanner::switchGrammar(const XMLCh* const newGrammarNameSpace)
{
- XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(newGrammarNameSpace);
- Janitor<XMLSchemaDescription> janName(gramDesc);
- Grammar* tempGrammar = fGrammarResolver->getGrammar(gramDesc);
+ Grammar* tempGrammar = fGrammarResolver->getGrammar(newGrammarNameSpace);
if (!tempGrammar) {
tempGrammar = fSchemaGrammar;
1.3 +15 -55 xml-xerces/c/src/xercesc/internal/XMLGrammarPoolImpl.cpp
Index: XMLGrammarPoolImpl.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XMLGrammarPoolImpl.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- XMLGrammarPoolImpl.cpp 20 Jun 2003 22:19:30 -0000 1.2
+++ XMLGrammarPoolImpl.cpp 31 Jul 2003 17:05:03 -0000 1.3
@@ -56,6 +56,11 @@
/*
* $Log$
+ * Revision 1.3 2003/07/31 17:05:03 peiyongz
+ * Grammar embed Grammar Description
+ * using getGrammar(URI)
+ * update GrammarDescription info
+ *
* Revision 1.2 2003/06/20 22:19:30 peiyongz
* Stateless Grammar Pool :: Part I
*
@@ -90,26 +95,25 @@
:XMLGrammarPool(memMgr)
,fGrammarRegistry(0)
{
- fGrammarRegistry = new (memMgr) RefHashTableOf<GrammarEntry>(29, true, memMgr);
+ fGrammarRegistry = new (memMgr) RefHashTableOf<Grammar>(29, true, memMgr);
}
// -----------------------------------------------------------------------
// Implementation of Grammar Pool Interface
// -----------------------------------------------------------------------
-void XMLGrammarPoolImpl::cacheGrammar(XMLGrammarDescription* const gramDesc
- , Grammar* const gramToCache )
+void XMLGrammarPoolImpl::cacheGrammar(Grammar* const gramToCache )
{
- if (!gramDesc || !gramToCache )
+ if (!gramToCache )
return;
- const XMLCh* grammarKey = gramDesc->getGrammarKey();
+ const XMLCh* grammarKey = gramToCache->getGrammarDescription()->getGrammarKey();
if (fGrammarRegistry->containsKey(grammarKey))
{
ThrowXML(RuntimeException, XMLExcepts::GC_ExistingGrammar);
}
- fGrammarRegistry->put((void*) grammarKey, new (getMemoryManager()) GrammarEntry(gramDesc, gramToCache));
+ fGrammarRegistry->put((void*) grammarKey, gramToCache);
}
@@ -118,32 +122,16 @@
if (!gramDesc)
return 0;
- GrammarEntry* gramEntry = fGrammarRegistry->get(gramDesc->getGrammarKey());
+ /***
+ * This implementation simply use GrammarKey
+ */
+ return fGrammarRegistry->get(gramDesc->getGrammarKey());
- if (!gramEntry)
- return 0;
-
- return gramEntry->getGrammar();
}
-Grammar* XMLGrammarPoolImpl::orphanGrammar(XMLGrammarDescription* const gramDesc)
+Grammar* XMLGrammarPoolImpl::orphanGrammar(const XMLCh* const nameSpaceKey)
{
- if (!gramDesc)
- return 0;
-
- GrammarEntry* gramEntry = fGrammarRegistry->orphanKey(gramDesc->getGrammarKey());
-
- if (!gramEntry)
- return 0;
-
- /***
- * Delete the grammarEntry but don't delete the grammar
- */
- Grammar* theGram = gramEntry->getGrammar();
- gramEntry->nullGrammar();
- delete gramEntry;
-
- return theGram;
+ return fGrammarRegistry->orphanKey(nameSpaceKey);
}
void XMLGrammarPoolImpl::clear()
@@ -182,32 +170,6 @@
XMLSchemaDescription* XMLGrammarPoolImpl::createSchemaDescription(const XMLCh* const targetNamespace)
{
return new (getMemoryManager()) XMLSchemaDescriptionImpl(targetNamespace, getMemoryManager());
-}
-
-// ---------------------------------------------------------------------------
-// GrammarEntry: constructor and destructor
-// ---------------------------------------------------------------------------
-GrammarEntry::GrammarEntry(XMLGrammarDescription* const gramDesc
- , Grammar* const grammar)
-:fDescription(gramDesc)
-,fGrammar(grammar)
-{
-}
-
-/**
- *
- * A GrammarEntry is desctructed in two ways
- * . from clear(), we need to destroy the GrammarDescription and Grammar
- * . from orphanGrammar()
- *
- */
-GrammarEntry::~GrammarEntry()
-{
- if (fDescription)
- delete fDescription;
-
- if (fGrammar)
- delete fGrammar;
}
XERCES_CPP_NAMESPACE_END
1.3 +8 -56 xml-xerces/c/src/xercesc/internal/XMLGrammarPoolImpl.hpp
Index: XMLGrammarPoolImpl.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XMLGrammarPoolImpl.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- XMLGrammarPoolImpl.hpp 23 Jun 2003 21:06:21 -0000 1.2
+++ XMLGrammarPoolImpl.hpp 31 Jul 2003 17:05:03 -0000 1.3
@@ -56,6 +56,11 @@
/*
* $Log$
+ * Revision 1.3 2003/07/31 17:05:03 peiyongz
+ * Grammar embed Grammar Description
+ * using getGrammar(URI)
+ * update GrammarDescription info
+ *
* Revision 1.2 2003/06/23 21:06:21 peiyongz
* to solve unresolved symbol on Solaris
*
@@ -74,8 +79,6 @@
XERCES_CPP_NAMESPACE_BEGIN
-class GrammarEntry;
-
class XMLUTIL_EXPORT XMLGrammarPoolImpl : public XMLGrammarPool
{
public :
@@ -97,12 +100,10 @@
/**
* cacheGrammar
*
- * @param gramDesc: the grammar description
* @param gramToCache: the Grammar to be cached in the grammar pool
*
*/
- virtual void cacheGrammar(XMLGrammarDescription* const gramDesc
- , Grammar* const gramToCache);
+ virtual void cacheGrammar(Grammar* const gramToCache);
/**
@@ -120,11 +121,10 @@
*
* grammar removed from the grammar pool and owned by the caller
*
- * @param gramDesc: the Grammar Description used to search for grammar
- * cached in the grammar pool
+ * @param nameSpaceKey: Key sed to search for grammar in the grammar pool
*
*/
- virtual Grammar* orphanGrammar(XMLGrammarDescription* const);
+ virtual Grammar* orphanGrammar(const XMLCh* const nameSpaceKey);
/**
* clear
@@ -196,55 +196,9 @@
// container
//
// -----------------------------------------------------------------------
- RefHashTableOf<GrammarEntry>* fGrammarRegistry;
+ RefHashTableOf<Grammar>* fGrammarRegistry;
};
-
-/**
- * Helper class, ought to be nested class
- */
-class GrammarEntry : public XMemory
-{
-public:
- GrammarEntry(XMLGrammarDescription* const gramDesc
- , Grammar* const grammar);
-
- ~GrammarEntry();
-
- inline XMLGrammarDescription* getDescription() const;
-
- inline Grammar* getGrammar() const;
-
- inline void nullGrammar();
-
- inline void nullDescription();
-
-private:
-
- XMLGrammarDescription* fDescription;
- Grammar* fGrammar;
-
-};
-
-inline XMLGrammarDescription* GrammarEntry::getDescription() const
-{
- return fDescription;
-}
-
-inline Grammar* GrammarEntry::getGrammar() const
-{
- return fGrammar;
-}
-
-inline void GrammarEntry::nullGrammar()
-{
- fGrammar = 0;
-}
-
-inline void GrammarEntry::nullDescription()
-{
- fDescription = 0;
-}
XERCES_CPP_NAMESPACE_END
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org