Саксонский в Java: XSLT для CSV в XML

В основном продолжение этого вопроса:XSLT: CSV (или простой файл, или обычный текст) в XML

Итак, у меня есть XSLT отсюда:http://andrewjwelch.com/code/xslt/csv/csv-to-xml_v2.html

И он преобразует файл CSV в документ XML. Это делается при использовании следующей команды в командной строке:

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

Итак, теперь возникает вопрос:How do I do I do this in my Java code?

Прямо сейчас у меня есть код, который выглядит так:

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();

(TheTransformer является примеромnet.sf.saxon.Controller.)

Хитрость в командной строке состоит в том, чтобы указать & quot; -it: main & quot; чтобы указать прямо на названный шаблон в XSLT. Это означает, что вам не нужно указывать исходный файл с ключом -s. флаг.

Проблема начинается снова на стороне Java. Где / как я могу указать этот & quot; -it: main & quot ;? Не нарушит ли это другие XSLT, которые не нуждаются в указанном? Должен ли я называть каждый шаблон в каждом XSLT-файле «основным»? Учитывая метод подписи Transformer.transform (), яhave чтобы указать исходный файл, чтобы он не опровергал весь прогресс, который я сделал в выяснении этой вещи?

Edit: Я нашел s9api, спрятанный в saxon9he.jar, если кто-то ищет его.

Ответы на вопрос(1)

Ваш ответ на вопрос