Estoy tratando de capturar xsl: message en java al llamar a mi transformación. A continuación hay un fragmento de mi código.Capture xsl: mensaje de salida en java
final ArrayList<TransformerException> errorList = new ArrayList<TransformerException>();
ErrorListener errorListener = new ErrorListener() {
@Override
public void warning(TransformerException e) throws TransformerException {
//To change body of implemented methods use File | Settings | File Templates.
log.error(e.getMessage());
errorList.add(e);
}
@Override
public void error(TransformerException e) throws TransformerException {
//To change body of implemented methods use File | Settings | File Templates.
log.error(e.getMessage());
errorList.add(e);
}
@Override
public void fatalError(TransformerException e) throws TransformerException {
//To change body of implemented methods use File | Settings | File Templates.
errorList.add(e);
throw e;
}
};
...
try
{
transformer.setErrorListener(errorListener);
newDoc = transform(transformer, oldDoc);
}
catch (TransformerException e) {
log.error("Problem transforming normalized document into PUBS-XML", e);
throw e;
}
Desafortunadamente esto no está funcionando.
¿Hay una manera mejor?
¡Gracias de antemano!
¿Qué procesador xslt estás usando? –
creo que estoy usando Xalan con javax.xml.transform. *. Mi hoja de estilo es la versión 2. –
Corrección. el procesador es sajón. La siguiente respuesta es la solución para capturar xsl: mensaje de salida. –