#java #xml #xslt #saxon
#java #xml #xslt #saxon
Вопрос:
Это мой код:
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
TransformerFactory factory = TransformerFactory.newInstance();
factory.setErrorListener(new MyErrorListener());
Transformer trans = factory.newTransformer(new StreamSource(new StringReader(xsl), sid));
t.setErrorListener(new MyErrorListener());
t.transform(new DOMSource(xml), result);
Как я могу изменить этот код, чтобы заставить Saxon 9 сообщать об ошибках в stderr? Теперь он молчит, несмотря ни на что, и выдает только исключения типа TransformerConfigurationException
или TransformerException
очень мало сообщает MyErrorListener
.
Ответ №1:
Вы говорите об ошибках во время компиляции или об ошибках во время выполнения? Для ошибок времени компиляции (которые встречаются чаще) вам необходимо установить ErrorListener на TransformerFactory, а не на transformer.
Было бы лучше, если бы вы привели конкретный пример.
Комментарии:
1. В приведенном выше примере я устанавливаю
ErrorListener
заводскую настройку, но я все еще ничего не вижу в журнале. Да, я говорю об ошибках компиляции. (Кстати, Saxon потрясающий, спасибо за это!)