Problema creando fichero XML con VBA
Por fin voy consiguiendo generar mediante VBA y DOM el dichoso fichero bancario de transferencias "SEPA", pero me he tropezado con un asunto del que no soy capaz de salir. Adjunto os remito las primeras líneas de código seguidas de las primeras líneas del fichero XML que se genera:
Dim xmlDom As MSXML2.DOMDocument60
Dim xmlspacename As MSXML2.IXMLDOMElement
Dim xmlVersion As MSXML2.IXMLDOMProcessingInstruction
Dim xslStylesheet As MSXML2.IXMLDOMProcessingInstruction
Set xmlDom = New MSXML2.DOMDocument60
Set xmlVersion = xmlDom.createProcessingInstruction("xml", "version='1.0' encoding= 'UTF-8'")
xmlDom.appendChild xmlVersion
Set xmlspacename = xmlDom.createElement("Document")
xmlDom.appendChild xmlspacename
XmlDom.documentElement.setAttribute "xmlns", "urn:iso:std:iso:20022:tech:xsd:pain.001.001.03"
xmlDom.documentElement.setAttribute "xmlns:xsd", "http://www.w3.org/2001/XMLSchema"
xmlDom.documentElement.setAttribute "xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"
'****RAIZ DEL MENSAJE
'Creando elemento raiz [1..1]_0
Dim xmlrootnode As IXMLDOMElement
Set xmlrootnode = xmlDom.createElement("CstmrCdtTrfInitn")
xmlspacename.appendChild xmlrootnode
Las primeras líneas del XML que obtengo son:
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
<CstmrCdtTrfInitn xmlns="">
<GrpHdr>
<MsgId/>
La etiqueta que marco en negrita aparece con el atributo xmlns, y desconozco por qué. Pienso además que no cumplo con el esquema oficial y que el fichero no me va a resultar válido. ¿Alguien me puede decir qué hacer para que la etiqueta aparezca sin el atributo? Es decir, así: <CstmrCdtTrfInitn>