Как преобразовать XML с помощью XSL с использованием Java
В настоящее время я использую стандартную библиотеку javax.xml.transform для преобразования моего XML в CSV с использованием XSL. Мой XSL-файл большой - около 950 строк. Мои XML-файлы также могут быть довольно большими.
На стадии прототипа она работала нормально с долей XSL на уровне около 50 строк или около того. Теперь в «финальной системе», когда он выполняет преобразование, он выдает ошибкуСмещение цели ветвления слишком велико для короткой.
private String transformXML() {
String formattedOutput = "";
try {
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer =
tFactory.newTransformer( new StreamSource( xslFilename ) );
StreamSource xmlSource = new StreamSource(new ByteArrayInputStream( xmlString.getBytes() ) );
ByteArrayOutputStream baos = new ByteArrayOutputStream();
transformer.transform( xmlSource, new StreamResult( baos ) );
formattedOutput = baos.toString();
} catch( Exception e ) {
e.printStackTrace();
}
return formattedOutput;
}
Я наткнулся на несколько сообщений об этой ошибке, но не слишком уверен, что делать.
Я делаю что-то не так, код мудрый? Есть ли альтернативные сторонние трансформаторы, которые могли бы сделать это?
Спасибо,
Andez