xsl-list
[Top] [All Lists]

Re: [xsl] How to recover/continue from XML Transformation exception?

2010-11-17 03:12:47
It's not entirely clear from your question, but if you are calling transformer.transform() once for each XML file to be processed, you can catch the Java exception and continue.

for(Source source : sources) {
   try {
      transformer.transform(source);
   } catch (TransformerException err) {
      System.err.println("This one failed");
   }
}

On the other hand, if you are calling transform() once to process all the XML files, you will need to use an XSLT try/catch. This is available in XSLT 3.0 (aka 2.1), and implemented in Saxon 9.3: you will need the commercial edition.

Incidentally, if you are using the same stylesheet to process many files, I recommend reusing the JAXP Templates object, but creating a new Transformer object for each transformation.

Michael Kay
Saxonica


On 17/11/2010 07:44, Jack Bush wrote:
Hi All,
I have an Java application that continually transforms a single XML file at a
time which would fail every now and then, possibly due to corrupted data (not an
issue). However, the transformation process below using Saxon 9.1 would crashed
completely:
      Transformer transformer = transformerFactory.newTransformer(new
StreamSource(StyleSheet));
     JDOMSource areaSource = new JDOMSource(OriginaljdomXMLDocument);
     JDOMResult areaResult = new JDOMResult();
     transformer.transform(source, result);
  As a result, is it possible to recover/continue from ad-hoc XML 
transformation?
If so, how could this be done?
Thanks a lot,
Jack




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>