peiyongz    2004/04/07 07:10:04

  Modified:    c/src/xercesc/validators/DTD XMLDTDDescriptionImpl.cpp
                        XMLDTDDescriptionImpl.hpp
  Log:
  systemId (to replace rootElemName) as DTDGrammar Key
  
  Revision  Changes    Path
  1.4       +37 -8     
xml-xerces/c/src/xercesc/validators/DTD/XMLDTDDescriptionImpl.cpp
  
  Index: XMLDTDDescriptionImpl.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/validators/DTD/XMLDTDDescriptionImpl.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XMLDTDDescriptionImpl.cpp 3 Mar 2004 23:04:38 -0000       1.3
  +++ XMLDTDDescriptionImpl.cpp 7 Apr 2004 14:10:04 -0000       1.4
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.4  2004/04/07 14:10:04  peiyongz
  + * systemId (to replace rootElemName) as DTDGrammar Key
  + *
    * Revision 1.3  2004/03/03 23:04:38  peiyongz
    * deallocate fRootName when loaded
    *
  @@ -80,24 +83,28 @@
   // ---------------------------------------------------------------------------
   //  XMLDTDDescriptionImpl: constructor and destructor
   // ---------------------------------------------------------------------------
  -XMLDTDDescriptionImpl::XMLDTDDescriptionImpl(const XMLCh* const   rootName
  -                                           , MemoryManager* const memMgr)
  +XMLDTDDescriptionImpl::XMLDTDDescriptionImpl(const XMLCh*          const  systemId
  +                                           ,       MemoryManager*  const  memMgr  )
   :XMLDTDDescription(memMgr)
  +,fSystemId(0)
   ,fRootName(0)
   {
  -    if (rootName)
  -        fRootName = XMLString::replicate(rootName, memMgr);
  +    if (systemId)
  +        fSystemId = XMLString::replicate(systemId, memMgr);
   }
   
   XMLDTDDescriptionImpl::~XMLDTDDescriptionImpl()
   {
  +    if (fSystemId)
  +        XMLGrammarDescription::getMemoryManager()->deallocate((void*)fSystemId);
  +
       if (fRootName)
           XMLGrammarDescription::getMemoryManager()->deallocate((void*)fRootName);
   }
                
   const XMLCh* XMLDTDDescriptionImpl::getGrammarKey() const
   {
  -    return getRootName();
  +    return getSystemId();
   }
                 
   const XMLCh* XMLDTDDescriptionImpl::getRootName() const
  @@ -105,12 +112,33 @@
       return fRootName; 
   }
   
  +const XMLCh* XMLDTDDescriptionImpl::getSystemId() const
  +{ 
  +    return fSystemId; 
  +}
  +
   void XMLDTDDescriptionImpl::setRootName(const XMLCh* const rootName)
   {
       if (fRootName)
  -        XMLGrammarDescription::getMemoryManager()->deallocate((void*)fRootName);   
  +    {
  +        XMLGrammarDescription::getMemoryManager()->deallocate((void*)fRootName);
  +        fRootName = 0;
  +    }
  +
  +    if (rootName)
  +        fRootName = XMLString::replicate(rootName, 
XMLGrammarDescription::getMemoryManager()); 
  +}        
  +
  +void XMLDTDDescriptionImpl::setSystemId(const XMLCh* const systemId)
  +{
  +    if (fSystemId)
  +    {
  +        XMLGrammarDescription::getMemoryManager()->deallocate((void*)fSystemId);
  +        fSystemId = 0;
  +    }
   
  -    fRootName = XMLString::replicate(rootName, 
XMLGrammarDescription::getMemoryManager()); 
  +    if (systemId)
  +        fSystemId = XMLString::replicate(systemId, 
XMLGrammarDescription::getMemoryManager()); 
   }        
   
   /***
  @@ -142,6 +170,7 @@
   
   XMLDTDDescriptionImpl::XMLDTDDescriptionImpl(MemoryManager* const memMgr)
   :XMLDTDDescription(memMgr)
  +,fSystemId(0)
   ,fRootName(0)
   {
   }
  
  
  
  1.3       +16 -6     
xml-xerces/c/src/xercesc/validators/DTD/XMLDTDDescriptionImpl.hpp
  
  Index: XMLDTDDescriptionImpl.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/validators/DTD/XMLDTDDescriptionImpl.hpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XMLDTDDescriptionImpl.hpp 14 Oct 2003 15:20:42 -0000      1.2
  +++ XMLDTDDescriptionImpl.hpp 7 Apr 2004 14:10:04 -0000       1.3
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.3  2004/04/07 14:10:04  peiyongz
  + * systemId (to replace rootElemName) as DTDGrammar Key
  + *
    * Revision 1.2  2003/10/14 15:20:42  peiyongz
    * Implementation of Serialization/Deserialization
    *
  @@ -81,7 +84,7 @@
       // -----------------------------------------------------------------------
       //@{
       XMLDTDDescriptionImpl(
  -                          const XMLCh* const   rootName 
  +                          const XMLCh* const   systemId 
                           , MemoryManager* const memMgr
                             );
   
  @@ -104,16 +107,18 @@
       // -----------------------------------------------------------------------
       //@{
       /**
  -      * getRootName
  +      * Getter
         *
         */
  -    virtual const XMLCh*           getRootName() const ;
  +    virtual const XMLCh*          getRootName() const;
  +    virtual const XMLCh*          getSystemId() const;
   
       /**
  -      * setRootName
  +      * Setter
         *
         */
  -    virtual void                   setRootName(const XMLCh* const rootName);
  +    virtual void                  setRootName(const XMLCh* const);
  +    virtual void                  setSystemId(const XMLCh* const);
       //@}
       
       /***
  @@ -134,12 +139,17 @@
   
       // -----------------------------------------------------------------------
       //
  +    // fSystemId:
  +    //     SYSTEM ID of the grammar
  +    //
       // fRootName: 
       //      root name of the grammar
       //
       // -----------------------------------------------------------------------
   
  +    const XMLCh*      fSystemId;
       const XMLCh*      fRootName;    
  +
   };
   
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to