0
<?xml version="1.0" encoding="UTF-8"?>
    <xbrli:xbrl xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:pgc07am="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/ModeloAbreviado/2009-01-01" xmlns:pgc07m-roles="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/roles/2009-01-01" xmlns:pgc-07-c-bs="http://www.icac.meh.es/es/fr/gaap/pgc07/comun-base/2009-01-01" xmlns:pgc07ma-apdo9="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/abreviado/apartado9/SituacionFiscal/2009-01-01" xmlns:pgc07ma-apdo4="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/abreviado/apartado4/NormasRegistroValoracion/2009-01-01" xmlns:pgc07a="http://www.icac.meh.es/es/fr/gaap/pgc07/cuentas/abreviado/2009-01-01" xmlns:pgc07cbs-dvs="http://www.icac.meh.es/es/fr/gaap/pgc07/cuentas/comunbase/EstadoTotalCambiosPatrimonioNeto/VariacionSaldo/Dimension/2009-01-01" xmlns:pgc07ma-apdo13="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/abreviada/apartado13/OtraInformacion/2009-01-01" xmlns:dgi-gen-ex="http://www.xbrl.org.es/es/2008/dgi/gp/gen-ex/2008-01-30" xmlns:pgc07ma-apdo5="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/abreviada/apartado5/InmovilizadoMaterialIntangibleInversionesInmoviliarias/2009-01-01" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:pgc-07-ref="http://www.icac.meh.es/es/fr/gaap/pgc07/referenceParts/2009-01-01" xmlns:pgc07cbs-dpn="http://www.icac.meh.es/es/fr/gaap/pgc07/cuentas/comunbase/EstadoTotalCambiosPatrimonioNeto/PatrimonioNeto/Dimension/2009-01-01" xmlns:dgi-rel="http://www.xbrl.org.es/es/2008/dgi/gp/rel/2008-01-30" xmlns:dgi-lc-int="http://www.xbrl.org.es/es/2008/dgi/gp/lc-int/2008-01-30" xmlns:pgc07ma-apdo7="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/abreviada/apartado7/PasivosFinancieros/2009-01-01" xmlns:pgc07mc-apdo0="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/comun/apartado0/IdentificacionGeneral/2009-01-01" xmlns:pgc07ma-d-inm="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/abreviada/InmovilizadoMaterialIntangibleInversionesInmobiliarias/Dimension/2009-01-01" xmlns:pgc07a-etcpn="http://www.icac.meh.es/es/fr/gaap/pgc07/cuentas/abreviado/patrimonioNeto/B/EstadoTotalCambiosPatrimonioNeto/2009-01-01" xmlns:pgc07ma-apdo2="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/abreviado/apartado2/BasesPresentacionCuentasAnuales/2009-01-01" xmlns:pgc07ma-apdo10="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/abreviada/apartado10/IngresosGastos/2009-01-01" xmlns:dgi-eco-bas="http://www.xbrl.org.es/es/2008/dgi/gp/eco-bas/2008-01-30" xmlns:dgi-dat-inf="http://www.xbrl.org.es/es/2008/dgi/gp/dat-inf/2008-01-30" xmlns:pgc-07-a-pyg="http://www.icac.meh.es/es/fr/gaap/pgc07/cuentas/abreviado/PerdidasGanancias/2009-01-01" xmlns:pgc07a-d-vs="http://www.icac.meh.es/es/fr/gaap/pgc07/cuentas/abreviado/EstadoTotalCambiosPatrimonioNeto/VariacionSaldo/Dimension/2009-01-01" xmlns:pgc07ma-apdo12="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/abreviada/apartado12/OperacionesPartesVinculadas/2009-01-01" xmlns:pgc-07-a-pnA="http://www.icac.meh.es/es/fr/gaap/pgc07/cuentas/abreviado/patrimonioNeto/A/2009-01-01" xmlns:pgc-07-c-na="http://www.icac.meh.es/es/fr/gaap/pgc07/comun-normalabreviado/2009-01-01" xmlns:pgc-07-a-bal="http://www.icac.meh.es/es/fr/gaap/pgc07/cuentas/abreviado/balance/2009-01-01" xmlns:pgc07a-d-pn="http://www.icac.meh.es/es/fr/gaap/pgc07/cuentas/abreviado/EstadoTotalCambiosPatrimonioNeto/PatrimonioNeto/Dimension/2009-01-01" xmlns:pgc07d-reclsf="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/comun/ReclasificacionInstrumentosFinancieros/Dimension/2009-01-01" xmlns:pgc07m-d-pv="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/comun/PartesVinculadas/Dimension/2009-01-01" xmlns:pgc07ma-d-sf="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/abreviado/SituacionFiscal/Dimension/2009-01-01" xmlns:pgc07ma-apdo3="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/abreviada/apartado3/AplicacionResultados/2009-01-01" xmlns:pgc07mc-bs="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/comun/base/2009-01-01" xmlns:pgc07d-plzven="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/comun/PlazoVencimientoInstrumentosFinancieros/Dimension/2009-01-01" xmlns:dgi-est-gen="http://www.xbrl.org.es/es/2008/dgi/gp/est-gen/2008-01-30" xmlns:pgc-07-a="http://www.icac.meh.es/es/fr/gaap/pgc07/abreviado/2009-01-01" xmlns:pgc-07-types="http://www.icac.meh.es/es/fr/gaap/pgc07/types/2009-01-01" xmlns:pgc07ma-apdo11="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/abreviado/apartado11/SubvencionesDonancionesLegados/2009-01-01" xmlns:pgc07d-clase="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/comun/ClasesInstrumentosFinancieros/Dimension/2009-01-01" xmlns:pgc07mc-ap="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/comun/abreviadoPymes/2009-01-01" xmlns:pgc-07-roles="http://www.icac.meh.es/es/fr/gaap/pgc07/roles/2009-01-01" xmlns:dgi-lc-es="http://www.xbrl.org.es/es/2008/dgi/gp/lc-es/2008-01-30" xmlns:pgc07ma-rsm="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/abreviada/resumen/2009-01-01" xmlns:pgc07m-d-cp="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/comun/CategoriasProfesionales/Dimension/2009-01-01" xmlns:dgi-types="http://www.xbrl.org.es/es/2008/dgi/gp/types/2008-01-30" xmlns:pgc07ma-apdo0="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/abreviada/apartado0/IdentificacionGeneral/2009-01-01" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:pgc07ma-apdo14="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/abreviada/apartado14/InformacionMedioAmbiente/2009-01-01" xmlns:pgc07mc-na="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/comun/normalAbreviado/2009-01-01" xmlns:dgi-cnae-09="http://www.xbrl.org.es/es/2008/dgi/gp/lc-cnae-2009/2008-01-30" xmlns:pgc07ma-apdo8="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/abreviada/apartado8/FondosPropios/2009-01-01" xmlns:ref="http://www.xbrl.org/2004/ref" xmlns:pgc07ma-apdo6="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/abreviada/apartado6/ActivosFinancieros/2009-01-01" xmlns:pgc-07-c-ap="http://www.icac.meh.es/es/fr/gaap/pgc07/comun-abreviadopymes/2009-01-01" xmlns:dgi-gen-bas="http://www.xbrl.org.es/es/2008/dgi/gp/gen-bas/2008-01-30" xmlns:pgc07ma="http://www.icac.meh.es/es/fr/gaap/pgc07/memoria/abreviada/2009-01-01">
      <link:schemaRef xlink:type="simple" xlink:href="http://www.icac.meh.es/taxonomia/pgc-2009-01-01/pgc07-abreviado-completo.xsd" />
      <xbrli:context id="I.ACTUAL">
        <xbrli:entity>
          <xbrli:identifier scheme="http://www.icac.meh.es/xbrl">BXXXXXXXX</xbrli:identifier>
        </xbrli:entity>
        <xbrli:period>
          <xbrli:instant>2009-12-31</xbrli:instant>
        </xbrli:period>
      </xbrli:context>
      <xbrli:context id="I.ANTERIOR">
        <xbrli:entity>
          <xbrli:identifier scheme="http://www.icac.meh.es/xbrl">BXXXXXXXX</xbrli:identifier>
        </xbrli:entity>
        <xbrli:period>
          <xbrli:instant>2008-12-31</xbrli:instant>

The above is an example of XBRL for financial statements. I'm using Excel VBA to crate a template for financial analisys.

I need to use Microsolft XML library v6.0 and when I run my code I get the following error "undeclared reference to namespace prefix: 'link'" in line

Set listaLink_schemaRef = xmlDom.selectNodes("link:schemaRef")

A sample of the code I use is:

 Sub CargarInformeXBRL()
    
    '    On Error Resume Next
    
        ' Ejercicios
        Dim ejercicios(0 To 100) As Ejercicio
        
        ' Documento XBRL
        Dim xmlDom As MSXML2.DOMDocument60
        
        ' Nodo
        Dim nodo As MSXML2.IXMLDOMNode
        
        ' Contexto
        Dim contexto As MSXML2.IXMLDOMNode
        
        ' Hijos de contexto
        Dim hijoContexto As MSXML2.IXMLDOMNode
        
        ' Periodo
        Dim periodo As MSXML2.IXMLDOMNode
        
        ' Lista de link_schemaRef
        Dim listaLink_schemaRef As IXMLDOMNodeList
        
        ' link_schemaRef
        Dim link_schemaRef As MSXML2.IXMLDOMNode
        
        ' Atributo link_schemaRef
        Dim atributo_link_schemaRef As MSXML2.IXMLDOMAttribute
     ' Ruta del informe XBRL
        Dim strNombreArchivo
         
        'diálogo para abrir obtener la ruta del informe XBRL
        strNombreArchivo = Application.GetOpenFilename
        If strNombreArchivo = False Then Exit Sub
    
       ' Crea un nuevo contenedor para el informe XBRL
        Set xmlDom = New MSXML2.DOMDocument60
        
        ' Carga el informe XBRL
        xmlDom.Load strNombreArchivo
        
       '  Buscamos el modelo al que hace referencia el informe
        Set listaLink_schemaRef = xmlDom.selectNodes("link:schemaRef")
            If listaLink_schemaRef.Length = 0 Then
            Set listaLink_schemaRef = xmlDom.selectNodes("/xbrli:xbrl/link:schemaRef")
        End If
        
        For Each link_schemaRef In listaLink_schemaRef 

The above code is from an XBRL file used to provide financial statements. I'm creating an Excel with VBA to import the XRRL to analize the FS. I need to use the MIcrosoft Library XML v6.0 and when I run my code I get the error "undeclared reference to namespace prefix: 'Link'" in line:

 Set listaLink_schemaRef = xmlDom.selectNodes("/xbrl/link:schemaRef")

A sample of the code I'm using is:

Sub CargarInformeXBRL()

    On Error Resume Next

    ' Ejercicios
    Dim ejercicios(0 To 100) As Ejercicio
    
    ' Documento XBRL
    Dim xmlDom As MSXML2.DOMDocument60
    
    ' Nodo
    Dim nodo As MSXML2.IXMLDOMNode
    
    ' Contexto
    Dim contexto As MSXML2.IXMLDOMNode
    
    ' Hijos de contexto
    Dim hijoContexto As MSXML2.IXMLDOMNode
    
    ' Periodo
    Dim periodo As MSXML2.IXMLDOMNode
    
    ' Lista de link_schemaRef
    Dim listaLink_schemaRef As IXMLDOMNodeList
    
    ' link_schemaRef
    Dim link_schemaRef As MSXML2.IXMLDOMNode
    
    ' Atributo link_schemaRef
    Dim atributo_link_schemaRef As MSXML2.IXMLDOMAttribute

(...)

    Set listaLink_schemaRef = xmlDom.selectNodes("/xbrl/link:schemaRef")
        If listaLink_schemaRef.Length = 0 Then
        Set listaLink_schemaRef = xmlDom.selectNodes("/xbrli:xbrl/link:schemaRef")
    End If

Any help, please

Best

Tim Williams
  • 154,628
  • 8
  • 97
  • 125
G. Asins
  • 69
  • 7
  • 1
    You need to declare any namespaces you want to use: https://stackoverflow.com/questions/45404020/xpath-syntax-to-select-nodes-with-multiple-attributes-in-the-path/45404432#45404432 – Tim Williams Sep 23 '20 at 16:33
  • Thaks Tim! I added .``SetProperty "SelectionNamespaces", "xmlns:link='http://www.xbrl.org/2003/linkbase'" `` and it works. Now I have the error "NodeTest expected" /xbrl/<-- in line ``Set listaNodos = xmlDom.selectNodes("/xbrl/" + item)``. This code worked properly in my XML3.0 code but I'm trying to update it to XML 6.0. (**Item** is a string previuosly declared) – G. Asins Sep 25 '20 at 11:36

0 Answers0