Я использую Java-приложение для вызова xslt для преобразования XML. Файл xslt сгенерирует сообщение и завершит процесс, если произойдет какое-либо условие. Однако мое java-приложение не смогло перехватить сообщение об ошибке, сгенерированное xslt, оно только перехватило исключение с общей информацией - «Прекращение по таблице стилей».
Вот мой код Java:
SAXTransformerFactory saxTFactory = ((SAXTransformerFactory) tFactory);
// Create a TransformerHandler for stylesheet.
File f2 = new File(styleSheetPath);
TransformerHandler tHandler2 = saxTFactory.newTransformerHandler (новый StreamSource (f2));
XMLReader reader = XMLReaderFactory.createXMLReader ();
reader.setContentHandler(tHandler2);
reader.setProperty("http://xml.org/sax/properties/lexical-handler", tHandler2);
CharArrayWriter outputWriter = new CharArrayWriter();
Result result = new StreamResult(outputWriter);
tHandler2.setResult(result);
try
{
reader.parse(new InputSource(new StringReader(XMLinput)));
}
catch(Exception ee)
{
dsiplay(ee.getMessage())
throw ee;
}
Как я могу поймать сообщение об ошибке от xslt?
Я пытался написать класс:
закрытый класс MyErrorHandler расширяет DefaultHandler {
public void error(SAXParseException e)
{
System.out.println("error method "+e.getMessage());
}
public void fatalError(SAXParseException e)
{
System.out.println("fatal error method "+e.getMessage());
}
public void warning(SAXParseException e)
{
System.out.println("warning method "+e.getMessage());
}
и
MyErrorHandler myHandler = new MyErrorHandler();
reader.setErrorHandler(myHandler);
Это не сработало.
У вас есть предложения?