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]