В настоящее время я использую стандартную библиотеку 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