Generar fichero html a partir de plantilla xslt y datos xml

De ChuWiki

Para obtener un archivo HTML a partir de una plantilla XSLT y datos XML en Java, necesitarás utilizar la biblioteca estándar de Java llamada javax.xml.transform.

Aquí está el código para hacerlo:

import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import java.io.*;

public class XsltTransformer {

  public static void main(String[] args) throws Exception {

    // Ruta a la plantilla XSLT y datos XML
    String xsltFilePath = "/ruta/a/plantilla.xsl";
    String xmlFilePath = "/ruta/a/datos.xml";

    // Cargar la plantilla XSLT y los datos XML
    Source xslt = new StreamSource(new File(xsltFilePath));
    Source xml = new StreamSource(new File(xmlFilePath));

    // Crear el archivo HTML de salida
    File htmlFile = new File("/ruta/a/salida.html");
    Result html = new StreamResult(htmlFile);

    // Configurar el transformador XSLT
    TransformerFactory factory = TransformerFactory.newInstance();
    Transformer transformer = factory.newTransformer(xslt);

    // Transformar los datos XML utilizando la plantilla XSLT
    transformer.transform(xml, html);

    // Imprimir un mensaje de éxito
    System.out.println("Archivo HTML generado exitosamente en " + htmlFile.getAbsolutePath());
  }
}

En este código, se especifica la ruta a la plantilla XSLT y los datos XML, se carga cada uno de ellos utilizando la clase StreamSource y se crea un archivo de salida HTML utilizando la clase StreamResult. Luego, se crea una instancia de la fábrica TransformerFactory y se utiliza para crear un objeto Transformer. Finalmente, se llama al método transform() en el objeto Transformer para generar el archivo HTML.