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