Necesito un progtwig de línea de comandos simple para transformar XML usando una hoja de estilo XSL

Estoy en OSX Snow Leopard (10.6.2) Puedo instalar todo lo que necesito. Preferiblemente me gustaría una solución Python o Java. He buscado en Google y he encontrado mucha información sobre cómo escribir mi propio progtwig para hacer esto, pero esto es solo un experimento rápido y sucio, por lo que no quiero invertir mucho tiempo en escribir un montón de código para hacer esto. Estoy seguro de que alguien más ya lo ha hecho.

Esto está fuera de tema ahora, no use esta pregunta como un ejemplo de por qué su solicitud de recomendaciones está relacionada con el tema, no lo es. Me disculpo, ¡pero mi Google-Foo me estaba fallando el día que pedí esto hace 4 años!

¿Has probado ‘ xsltproc ‘? Probablemente ya está instalado.

http://xmlsoft.org/XSLT/xsltproc2.html

Recomiendo a Saxon , que puede ejecutarse desde la línea de comandos así:

 java -jar /path/to/saxon.jar xmlfile xslfile 

Utilice lxml . Es muy fácil de usar y muy rápido. Puede funcionar con XPath e incluye un transformador XSLT .

Si asumo correctamente que desea proporcionar una hoja de estilo y un documento XML, Xalan-J tiene una función de línea de comandos que puede usar para hacer esto:

http://xml.apache.org/xalan-j/commandline.html

que se puede invocar con:

 java org.apache.xalan.xslt.Process -IN foo.xml -XSL foo.xsl -OUT foo.out 

¿Has visto XMLStarlet (un conjunto de herramientas de línea de comandos XML)? Hace un montón de transformación de consulta relacionada con XML, y en particular:

 xml tr --help XMLStarlet Toolkit: Transform XML document(s) using XSLT Usage: xml tr []  {-p|-s =} [  ... ] where  - main XSLT stylesheet for transformation  - input XML document file name (stdin is used if missing) = - name and value of the parameter passed to XSLT processor -p - parameter is XPATH expression ("'string'" to quote string) -s - parameter is a string literal 

Más documentación aquí .

He usado Saxon 6.5 durante años para transformaciones de línea de comando. (Java, XSLT 1)

Un excelente respaldo si una solución nativa no está disponible.

vea esta pregunta para otra solución con com.sun.org.apache.xalan.internal.xsltc.cmdline.Transform. Pero noté algunas rarezas con los espacios de nombres en comparación con el procesamiento xalan. Tenga en cuenta que el comportamiento puede no ser estándar.

Además, las clases internas de java no son buenas para confiar.