extraer un dato del XML mediante XSLT
Publicado por Jean Jacques (1 intervención) el 20/03/2020 23:02:58
Hola,
Necesito ayuda para lo siguiente:
Estoy tratando de importar un archivo XML en una base de datos Filemaker mediante una hoja de estilo XSLT.
Detallo parte del documento XML a continuación.. (no voy a poner todo el documento)
En el nodo principal es <FacturaElectronica> , necesito que mi hoja de estilo XSLT no tome encuesta los atributos que aparecen justo después de <FacturaElectronica, ya que esto hace que no me jale la información..
Ocupo saber si existe algún código que pueda poner en mi XSLT para omitir esos atributos del nodo <FacturaElectronica>
actualmente mi código XSLT es el siguiente:
y me funciona solo si a mi XML elimino todos los atributos de <FacturaElectronica> de manera manual.
lo que pasa que quiero que se haga automáticamente en el XSLT..
mas que todo la info ( xmlns="https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.3/facturaElectronica" ) porque los prefijos:
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
si los pude dejar de tomar en cuenta mediante el código:
extension-element-prefixes="xsd xsi ds"
exclude-result-prefixes="xsd xsi ds"
Pero el dato: xmlns="https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.3/facturaElectronica" , no se como excluirlo.
Gracias por la ayuda que me puedan brindar..
Necesito ayuda para lo siguiente:
Estoy tratando de importar un archivo XML en una base de datos Filemaker mediante una hoja de estilo XSLT.
Detallo parte del documento XML a continuación.. (no voy a poner todo el documento)
1
2
3
4
<?xml version="1.0" encoding="utf-8"?>
<FacturaElectronica xsi:schemaLocation="https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.3/facturaElectronica https://www.hacienda.go.cr/ATV/ComprobanteElectronico/docs/esquemas/2016/v4.3/FacturaElectronica_V4.3.xsd" xmlns="https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.3/facturaElectronica" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<Clave>50609032000310126898103400002010000007838199999999</Clave>
<CodigoActividad>523402</CodigoActividad>
En el nodo principal es <FacturaElectronica> , necesito que mi hoja de estilo XSLT no tome encuesta los atributos que aparecen justo después de <FacturaElectronica, ya que esto hace que no me jale la información..
Ocupo saber si existe algún código que pueda poner en mi XSLT para omitir esos atributos del nodo <FacturaElectronica>
actualmente mi código XSLT es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet version="1.0"
xmlns="https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.3/facturaElectronica" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
extension-element-prefixes="xsd xsi ds"
exclude-result-prefixes="xsd xsi ds"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
<METADATA>
<FIELD NAME="Proveedor" TYPE="TEXT"/>
<FIELD NAME="Factura" TYPE="TEXT"/>
<FIELD NAME="Fecha" TYPE="TEXT"/>
</METADATA>
<RESULTSET>
<ROW>
<COL>
<DATA><xsl:value-of select="FacturaElectronica/Emisor/Nombre"/></DATA>
</COL>
<COL>
<DATA><xsl:value-of select="FacturaElectronica/NumeroConsecutivo"/></DATA>
</COL>
<COL>
<DATA><xsl:value-of select="FacturaElectronica/FechaEmision"/></DATA>
</COL>
</ROW>
</RESULTSET>
</FMPXMLRESULT>
</xsl:template>
</xsl:stylesheet>
y me funciona solo si a mi XML elimino todos los atributos de <FacturaElectronica> de manera manual.
lo que pasa que quiero que se haga automáticamente en el XSLT..
mas que todo la info ( xmlns="https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.3/facturaElectronica" ) porque los prefijos:
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
si los pude dejar de tomar en cuenta mediante el código:
extension-element-prefixes="xsd xsi ds"
exclude-result-prefixes="xsd xsi ds"
Pero el dato: xmlns="https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.3/facturaElectronica" , no se como excluirlo.
Gracias por la ayuda que me puedan brindar..
Valora esta pregunta


0