He creado un documento de datos XML y una hoja de estilos XSLT, y deseo generar un documento HTML basado en los dos. Mi hoja de estilo tiene la etiqueta, y mi documento XML tiene la instrucción del procesador (junto con varias referencias "xsl: value-of"). Mi pregunta es, ¿cuál es la "mecánica" real de obtener el procesador XSLT (que, según tengo entendido, está integrado en todos los navegadores web) para leer los archivos de hoja de estilos XML y XSLT y sacar el documento HTML, que luego se mostrará en el ¿navegador? ¡El libro XML que he estado leyendo no especifica esto! GraciasCómo generar un archivo HTML desde XML y hoja de estilos XSLT
Respuesta
Mi pregunta es, ¿cuáles son los reales "mecánica" de conseguir el procesador XSLT (que, entiendo, es integrado en todos los navegadores web) para leer el XML y la hoja de estilo XSLT archivos y muestra el documento HTML, que será y luego mostrar en el navegador?
Es la tarea del explorador HTML específico que se utiliza para invocar su procesador XSLT. Luego, el navegador interpreta los resultados de la transformación XSLT como el HTML que debe mostrarse. Tenga en cuenta que, en general, los navegadores no están obligados a admitir el procesamiento previo XSLT, por lo que pueden existir navegadores que no tengan un procesador XSLT asociado y que no respeten el PI xml-stylesheet
del pseudo-atributo type="text/xsl"
.
Para obtener más información, lea la especificación del W3C sobre "Associating Style Sheets with XML Documents"
Para probar la transformación XSLT en esto, un poco de manera primitiva, puede abrir el archivo XML con su navegador (hacer su tarea y aprender cómo abrir un archivo local desde el navegador) y examinar los resultados con un comando "View Source"
o similar.
Ciertamente no recomiendo esta técnica primitiva. Es mucho mejor utilizar uno de los muchos entornos de desarrollo XSLT existentes, como el XSelerator, oxígeno, Visual Studio, ..., etc.
Gracias por su respuesta. Pero digamos que quiero hacer una "prueba" en mi computadora local para ver el documento html generado por el navegador. ¿Como podría hacerlo? – Jack
Esta es una pregunta diferente. Por favor haga una nueva pregunta. Esta nueva pregunta no tiene nada que ver con XSLT: solo necesita abrir el archivo en su navegador usando Archivo -> Abrir, o cualquiera que sea la secuencia de menú para abrir un archivo en el navegador específico. –
No, mi pregunta está relacionada, pero creo que no estaba claro en mi redacción. Mi pregunta era, digamos que tengo un archivo XML y una hoja de estilos XSLT asociada, y quiero ingresar estos archivos al navegador para probar el archivo HTML que se mostrará. ¿Como podría hacerlo? Gracias. – Jack
Puede ejecutar XSL transforma en el "modo normal" con Javascript API, o utilizar una instrucción de procesamiento xml-stylesheet, así:
carga esto en su navegador ...
<?xml version="1.0"?>
<?xml-stylesheet href="demo.xslt" type="text/xsl"?>
<data>
<first>first</first>
<second>second</second>
</data>
y la hoja de estilo, guardar esto como demo.xslt en el mismo directorio que el Archivo XML
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<head><title>Xslt browser demo</title></head>
<body>
Here's my data:
<xsl:for-each select="/data/*"><b><xsl:value-of select="."/></b></xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Esto funciona para mí en Firefox en Linux.
La respuesta de Dimitre es lo que necesita. Pero aquí tienes un ejemplo:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
<document>
...
</document>
de abrir el documento XML anterior en cualquiera (no realmente, pero usted lo consigue ...) del navegador y se va a transformar el documento XML con stylesheet.xsl
y muestra el resultado.
Es realmente un desastre cuando se trata de transformaciones en los navegadores imo, mal soporte y solo XSLT 1.0. El tipo MIME Vea el comentario de Alejandros a continuación.text/xsl
ni siquiera es "correcto", pero es el más comúnmente admitido por los navegadores. El tipo MIME correcto debe ser application/xslt+xml
, pero eso no es compatible con ningún navegador (?) Que yo sepa.
en realidad, no hay un tipo MIME para XSLT. 'application/xslt + xml' fue la propuesta en XSLT 2.0 WD. Entonces, 'test/xml' o' application/xml' (para purist) son el tipo MIME correcto para ** enviar ** hojas de estilo XSLT. El pseudo atributo 'type' de' xml-stylesheet' PI es solo para determinar entre 'test/css' y' test/xsl'. –
@Alejandro: Tiene razón, no me actualicé a la ligera ni leo algunas cosas viejas. Perdón por eso y gracias por la aclaración! –
A continuación se muestra un código de Java que se utiliza para crear el archivo HTML. Cuando ejecute ejecutar este código, se creará el archivo out.html.
package xslt;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
import java.io.*;
class XSLT {
public static void main (String argv[]) throws Exception {
File stylesheet = new File("xslt-example.xsl");
File xmlfile = new File("SigmodRecord.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse(xmlfile);
StreamSource stylesource = new StreamSource(stylesheet);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer(stylesource);
DOMSource source = new DOMSource(document);
//The Html output is in out.html
StreamResult result = new StreamResult("out.html");
transformer.transform(source,result);
}
}
- 1. XML Diff: ¿Cómo generar XML diff usando XSLT?
- 2. Pase el parámetro a la hoja de estilos XSLT
- 3. ¿Cómo puedo evitar estos espacios de nombres redundantes de una hoja de estilos XSLT?
- 4. Generar archivo HTML desde rspec
- 5. hoja de estilos "profiler"
- 6. Error al cargar hoja de estilo: el análisis de una hoja de estilo XSLT no
- 7. ¿Cómo generar WiX XML desde un archivo .reg?
- 8. ¿Cómo puedo generar XML desde XMLBuilder usando un archivo .xml.builder?
- 9. Problema de ruta relativa de hoja de estilos XSLT bajo Windows
- 10. Cómo generar XSLT a partir de muestras XML
- 11. xslt - extraer nodos hoja
- 12. XSLT: ¿Analizando HTML incrustado en XML?
- 13. XSLT etiquetas HTML de salida de XML
- 14. herramienta para generar un archivo xml desde xsd (para probar)
- 15. Incluir una hoja de estilo xslt en una página html
- 16. Hoja de estilos ignorada cuando se usa onload y document.write
- 17. Generando archivo Excel desde HTML
- 18. Uso de XSLT para generar un elemento vacío HTML textarea
- 19. Generar PDF desde un archivo html en iPhone
- 20. generar xml desde xsd
- 21. Uso de XSLT para traducir un archivo XML
- 22. conversión de archivo XML en otro archivo XML mediante XSLT
- 23. ¿Cómo ejecuto un archivo XSLT?
- 24. Microsoft.Reporting. * Vs XML/XSLT
- 25. Necesito suprimir "Advertencia: ejecutar una hoja de estilos XSLT 1.0 con un procesador XSLT 2.0" en el archivo de registro estándar de Tomcat
- 26. Cómo aplicar una hoja de estilo XSLT en C#
- 27. Cómo generar un archivo SDP desde FFMPEG
- 28. XSLT insertando un archivo TXT
- 29. XSLT - seleccionar un valor de atributo de un archivo XML
- 30. Cómo generar clases JAXB desde solo XML
Buena pregunta, +1. Ver mi respuesta para una explicación. –
revise este artículo: http://www.yegor256.com/2014/06/25/xml-and-xslt-in-browser.html – yegor256