TXMLManager adiciona um nó filho com outro namespace

Estou criando um xml com vários namespace. Estou precisando adicionar um nó filho que tem outro namespace, porém não achei como fazer isso.

O método XPathAddNode tem como adicionar um nó filho, mas não informa como fazer se o filho é de outro namespace.

Tentei assim mas não deu certo:


#include 'protheus.ch'
#include 'parmtype.ch'

user function tsttxml()
    Local nCont
    Local oXml    := TXMLManager():New()
    Local cXml    := ""
        cXml    += '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'
        cXml    += '<xdr:wsDr xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">'
        cXml    += '</xdr:wsDr>'
    oXml:Parse(cXml)
    aNs    := oXml:XPathGetRootNsList()
    For nCont:=1 to Len(aNs)
        oXml:XPathRegisterNs( aNs[nCont][1], aNs[nCont][2] )
    Next

    ConOut(oXml:XPathAddNode( "/xdr:wsDr", "oneCellAnchor", "" ))                                //.T.
    ConOut(oXml:XPathAddNode(    "/xdr:wsDr/xdr:oneCellAnchor[last()]", "pic", "" ))                //.T.
    ConOut(oXml:XPathAddNode(    "/xdr:wsDr/xdr:oneCellAnchor[last()]/xdr:pic", "nvPicPr", "" ))    //.T.
    ConOut(oXml:XPathAddNode(    "/xdr:wsDr/xdr:oneCellAnchor[last()]/xdr:pic/xdr:nvPicPr", "cNvPicPr", "" ))    //.T.
    ConOut(oXml:XPathAddNode(    "/xdr:wsDr/xdr:oneCellAnchor[last()]/xdr:pic/xdr:nvPicPr/xdr:cNvPicPr", "a:picLocks", "" ))    //.T., Não dar certo, pois ele fica <xdr:a:picLocks/>
    ConOut(oXml:XPathAddAtt(    "/xdr:wsDr/xdr:oneCellAnchor[last()]/xdr:pic/xdr:nvPicPr/xdr:cNvPicPr/a:picLocks", "noChangeAspect", "1" ))    //.F.,Erro
    ConOut(oXml:Save2String())
return