test - transformador xslt
¿Usando XSL-FO y HTML? (2)
Intento transformar algunos datos XML en HTML con XSLT para mi tesis de licenciatura.
Mi profesor también quiere que considere XSL-FO, o al menos que escriba algunas palabras al respecto. Pero soy muy novato en esto.
Entonces mis preguntas son:
¿Puedo combinar FO con HTML? ¿Puedo usar FO en lugar de HTML y CSS? En caso afirmativo, ¿cómo lo renderizará mi navegador? ¿Hay ejemplos / tutoriales sobre cómo transformar xml en páginas web con FO?
XSL-FO es solo para visualización de PDF (esto no es estrictamente cierto, pero puede tomarlo como una guía). Por lo tanto, la salida HTML y la salida FO no están relacionadas. Desde su fuente XML, puede usar XSLT para generar XHTML o XSL-FO, pero no ambos al mismo tiempo.
Ver por ejemplo DocBook. Viene con varias hojas de estilo XSLT listas para usar, una para HTML y otra para PDF (a través de Apache Fop). Si está satisfecho con el resultado podría ser una pregunta diferente.
Generar XSL-FO y XHTML desde XSLT no es necesariamente una elección de uno u otro.
XSL-FO generalmente se usa para generar PDF. Para eso necesitarás un motor XSL-FO , como FOP , RenderX , Antenna House , IBex , etc. Sin embargo, puedes convertir XSL-FO en XHTML y luego renderizarlo en el navegador.
En general, no valdría la pena tener tu XSLT para crear XSL-FO y luego convertirlo en XHTML (simplemente genera XHTML directamente), a menos que quieras crear ambos formatos de salida (PDF y XHTML) con un esfuerzo reducido.
Es posible crear ** XSL-FO y XHTML al mismo tiempo sin mantener dos conjuntos completos de hojas de estilo para crear resultados similares en diferentes vocabularios **.
En lugar de elegir entre un formato u otro, o tener que mantener dos librerías de hoja de estilos claramente diferidas (pero similares), puede crear su biblioteca principal de hojas de estilo para generar XSL-FO o XHTML y luego usar una segunda transformación para convertir de XSL- FO a XHTML y viceversa. Existen hojas de estilos XSLT existentes que puede aprovechar para hacer esto.
En el pasado, he desarrollado hojas de estilo XSL-FO y luego uso la hoja de estilos Render-X FO2HTML para convertir el XSL-FO en salida XHTML . Convierte elementos <block>
en <div>
, <inline>
en <span>
, etc.
No los he usado antes, pero también podría intentar usar HTML2FO stylesheets para convertir XHTML en XSL-FO .
De fábrica, puede obtener resultados asombrosamente similares en ambos formatos mientras mantiene una biblioteca XSLT dedicada a un formato de salida particular.
Si necesita personalizar ligeramente la salida (por ejemplo, diferente contenido de encabezado para XHTML ), solo necesita importar / extender las hojas de estilo de conversión y anular la (s) plantilla (s) apropiada (s) para el contenido divergente. Esto hace que el mantenimiento sea mucho más fácil, por lo que no tiene que preocuparse por actualizar varios conjuntos de hojas de estilo con esencialmente la misma información.