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]