Saxon en Java: XSLT para CSV a XML

En su mayoría continúa de esta pregunta:XSLT: CSV (o archivo plano, o texto sin formato) a XML

Entonces, tengo un XSLT desde aquí:http://andrewjwelch.com/code/xslt/csv/csv-to-xml_v2.html

Y convierte un archivo CSV en un documento XML. Hace esto cuando se usa con el siguiente comando en la línea de comandos:

java -jar saxon9he.jar -xsl: csv-to-xml.csv -it: main -o: output.xml

Así que ahora la pregunta es:¿Cómo hago esto en mi código de Java?

Ahora mismo tengo un código que se ve así:

TransformerFactory transformerFactory = TransformerFactory.newInstance();
StreamSource xsltSource = new StreamSource(new File("location/of/csv-to-xml.xsl"));
Transformer transformer = transformerFactory.newTransformer(xsltSource);
StringWriter stringWriter = new StringWriter();
transformer.transform(documentSource, new StreamResult(stringWriter));
String transformedDocument = stringWriter.toString().trim();

(LosTransformer es una instancia denet.sf.saxon.Controller.)

El truco en la línea de comandos es especificar "-it: main" para apuntar directamente a la plantilla nombrada en el XSLT. Esto significa que no tiene que proporcionar el archivo fuente con la marca "-s".

El problema comienza de nuevo en el lado de Java. ¿Dónde / cómo especificaría este "-it: main"? ¿No lo haría romper otros XSLT que no necesitan esa especificación? ¿Tendría que nombrar cada plantilla en cada archivo XSLT "principal"? Dada la firma del método de Transformer.transform (), Itener para especificar el archivo de origen, entonces, ¿eso no anula todo el progreso que he logrado al resolver esto?

Editar: Encontré el s9api escondido dentro del saxon9he.jar, si alguien lo está buscando.

Respuestas a la pregunta(1)

Su respuesta a la pregunta