Procesamiento XSLT con Java?

¿Cómo transformar XML con el procesador XSLT en Java?

Aquí hay una muestra para usar Java api para transformador, como @Raedwald dijo:

import javax.xml.transform.*; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import java.io.File; import java.io.IOException; import java.net.URISyntaxException; public class TestMain { public static void main(String[] args) throws IOException, URISyntaxException, TransformerException { TransformerFactory factory = TransformerFactory.newInstance(); Source xslt = new StreamSource(new File("transform.xslt")); Transformer transformer = factory.newTransformer(xslt); Source text = new StreamSource(new File("input.xml")); transformer.transform(text, new StreamResult(new File("output.xml"))); } } 

La biblioteca estándar de Java proporciona una interfaz de transformación (XSLT) para el análisis XML. Consulte la documentación de API para las clases javax.xml.transform.Transformer y javax.xml.transform.TransformerFactory .

Soy nuevo en xslt. ¿Alguien puede guiarme a cómo xslt procesar con java?

Esto depende del procesador XSLT basado en Java que esté utilizando. Cada procesador XSLT tiene su propia API.

Por ejemplo, Saxon 6.5.5 (para XSLT 1.0) y Saxon 9.1.07 (para XSLT 2.0) están escritos en Java. La documentación está en http://www.saxonica.com/documentation/documentation.xml

Casi todos los procesadores XSLT tienen una utilidad de línea de comandos , que no requiere escribir un progtwig para realizar una transformación XSLT.

Por ejemplo, aquí está : cómo iniciar una transformación Saxx 9.x desde la línea de comando .

Así es como siempre uso Saxon desde la línea de comandos :

 java -Xms2048M -Xmx10000M -jar C:\xml\Parsers\Saxon\Ver.9.1.0.7\J\saxon9.jar -t -repeat:1 -o %out% %xml% %xsl% %param[ name=\"value\"]% 

donde %out% es el nombre del archivo de salida, %xml% es el archivo xml, %xsl% es el archivo xslt principal y %param[ name=\"value\"]% es una lista de nombre-valor de parámetros externos (Casi siempre dejo esto vacío).

JAXP proporciona una implementación independiente de trabajar con transformaciones XSLT. Aquí está el tutorial para que comiences. Si está trabajando con XSLT enorme y / o trabajando con múltiples XSLT, también existe la opción de almacenar en caché las plantillas XSLT analizadas por motivos de rendimiento. Este artículo explica cómo almacenar en caché xslt