summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
3d246a9)
git-svn-id: https://svn.middleware.georgetown.edu/cpp-xmltooling/branches/REL_1@718
de75baf8-a10c-0410-a50a-
987c0e22f00f
DOMElement* AbstractDOMCachingXMLObject::cloneDOM(DOMDocument* doc) const
{
if (getDOM()) {
DOMElement* AbstractDOMCachingXMLObject::cloneDOM(DOMDocument* doc) const
{
if (getDOM()) {
- if (!doc)
- doc=DOMImplementationRegistry::getDOMImplementation(NULL)->createDocument();
- return static_cast<DOMElement*>(doc->importNode(getDOM(),true));
+ DOMDocument* cloneDoc = doc;
+ if (!cloneDoc)
+ cloneDoc=DOMImplementationRegistry::getDOMImplementation(NULL)->createDocument();
+ try {
+ return static_cast<DOMElement*>(cloneDoc->importNode(getDOM(),true));
+ }
+ catch (XMLException& ex) {
+ if (!doc)
+ cloneDoc->release();
+ auto_ptr_char temp(ex.getMessage());
+ m_log.error("DOM clone failed: %s", temp.get());
+ }