Foros del Web » Creando para Internet » Diseño web »

XML Efactura con estilo XSL

Estas en el tema de XML Efactura con estilo XSL en el foro de Diseño web en Foros del Web. Hola, estoy haciendo unas pruebas para poner la eFactura en mi empresa. De momento he conseguido generar el xml con los datos (bueno el xsig ...
  #1 (permalink)  
Antiguo 24/06/2011, 04:09
 
Fecha de Ingreso: enero-2011
Ubicación: Castellon
Mensajes: 39
Antigüedad: 6 años, 8 meses
Puntos: 5
Pregunta XML Efactura con estilo XSL

Hola, estoy haciendo unas pruebas para poner la eFactura en mi empresa. De momento he conseguido generar el xml con los datos (bueno el xsig que es la extensión que me saca) y firmarlo con un certificado de la FNMT.

Ahora quiero mostrarselo al usuario de forma bonita y he visto lo de las XSL. He de decir que no se mucho sobre ello pero bueno...

MIS PROBLEMAS:
1-> ¿Como se aplica una XSL a un XML sin alterar este? Esto lo pregunto proque he visto que añadiendo una linea a XML:
Código HTML:
<?xml-stylesheet type="text/xsl" href="C:\Proyectos\FirmaFacturae\prueba.xsl"?> 
Este se visualiza con el estilo seleccionado pero yo no puedo modificar el XML de ninguna de las maneras ya que esta firmado y si lo modifico no pasa la validación.

He estado mirando y he visto que existen transformadores como lo que hace en esta página:
http://www.desarrolloweb.com/articulos/2304.php
¿Que os parece? ¿Esto no modifica mi XML y me permite visualizarlo?

2 -> Al aplicar una xsl a mi xml de factura añadiendo manualmente la linea del estilo me aparece los datos en formato texto lineal sin el formato que les he puesto yo sin embargo si modifco el XML de mi efactura quitando el prefijo fe: de la etiqueta primera <fe:Facturae ..> y dejandolo así: <Facturae ...> ya va bien. Lo podeis ver en esta página:
http://www.w3schools.com/xsl/tryxslt...file=cdcatalog
poniendo lo siguiente:
XML:
Código HTML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<fe:Facturae xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:fe="http://www.facturae.es/Facturae/2009/v3.2/Facturae">
<FileHeader>
<SchemaVersion>3.2</SchemaVersion>
<Modality>I</Modality>
<InvoiceIssuerType>EM</InvoiceIssuerType>
<Batch>
<BatchIdentifier>Borrador-</BatchIdentifier>
<InvoicesCount>1</InvoicesCount>
<TotalInvoicesAmount>
	<TotalAmount>757.69</TotalAmount>
</TotalInvoicesAmount>
<TotalOutstandingAmount>
	<TotalAmount>757.69</TotalAmount>
</TotalOutstandingAmount>
<TotalExecutableAmount>
	<TotalAmount>757.69</TotalAmount>
</TotalExecutableAmount>
<InvoiceCurrencyCode>EUR</InvoiceCurrencyCode>
</Batch>
</FileHeader>
</fe:Facturae> 
XSL
Código HTML:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" />
<xsl:template match="Facturae/FileHeader">
  <html>
  <body>
  <h2>Cabecera Factura</h2>
    <table border="1">
      <tr bgcolor="#9acd32">
<th>Modalidad</th>
        <th>Idfactura</th>
      </tr>

      <tr>
<td><xsl:value-of select="Modality"/></td>
        <td><xsl:value-of select="Batch/BatchIdentifier"/></td>
      </tr>

    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet> 
¿Sabeis porque puede ser?

GRACIAS

PD: También estoy probando el XSL "oficial" del gobierno pero no me va... En Mozilla me sale texto plano y en IE8 no sale nada. Lo he sacado de esta página
http://olea.org/factura-e/factura-e-xslts/

PDD: ¿A que soy complicada?


---EDITADO--
Hola si en vez de poner
<xsl:template match="Facturae/FileHeader">
Pongo:
<xsl:template match="FileHeader">
Me va bien en el Firefox y el IExplorer con la página esa de W3 pero si lo pongo añadiendo manualmente la linea del estilo el IE lo muestra bien pero Firefox pasa de mi :(

¡QUE LIO!

Última edición por Orantx; 24/06/2011 a las 05:05 Razón: Funciona Mejor

Etiquetas: efactura, xml, xsl
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:14.