XercesBridgeNavigator:: replaceChild()

in src/xalanc/XercesParserLiaison/Deprecated/XercesBridgeNavigator.cpp [208:232]


XercesBridgeNavigator:: replaceChild(
            DOM_NodeType&   theXercesParent,
            XalanNode*      newChild,
            XalanNode*      oldChild) const
{
    assert(newChild != 0);
    assert(oldChild != 0);

    // Get the corresponding Xerces nodes...
    const DOM_NodeType  theNewChild = m_ownerDocument->mapNode(newChild);
    const DOM_NodeType  theOldChild = m_ownerDocument->mapNode(oldChild);

    try
    {
        const DOM_NodeType  theXercesResult =
            theXercesParent.replaceChild(theNewChild, theOldChild);
        assert(m_ownerDocument->mapNode(theXercesResult) == oldChild);
    }
    catch(const DOM_DOMExceptionType&   theException)
    {
        throw XercesDOMException(theException);
    }

    return oldChild;
}