diff --git a/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java b/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java index bb3844801..4e9c65030 100644 --- a/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java +++ b/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java @@ -127,10 +127,10 @@ public class XSLTProcess extends MatchingTask { if (liaison == null) { try { setProcessor("xslp"); - } catch (Exception e1) { + } catch (Throwable e1) { try { setProcessor("xalan"); - } catch (Exception e2) { + } catch (Throwable e2) { throw new BuildException(e2); } } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/XalanLiaison.java b/src/main/org/apache/tools/ant/taskdefs/optional/XalanLiaison.java index 0babef7fa..29ff7eba3 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/XalanLiaison.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/XalanLiaison.java @@ -71,12 +71,15 @@ public class XalanLiaison implements XSLTLiaison { XSLTProcessor processor; XSLTInputSource xslSheet; + public XalanLiaison() throws Exception { + processor = XSLTProcessorFactory.getProcessor(); + } + public void setStylesheet(String fileName) throws Exception { xslSheet = new XSLTInputSource (fileName); }; public void transform(String infile, String outfile) throws Exception { - if (processor == null) processor = XSLTProcessorFactory.getProcessor(); processor.process(new XSLTInputSource(infile), xslSheet, new XSLTResultTarget(outfile)); } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/XslpLiaison.java b/src/main/org/apache/tools/ant/taskdefs/optional/XslpLiaison.java index f321bf75e..b9dbad22d 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/XslpLiaison.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/XslpLiaison.java @@ -72,13 +72,16 @@ public class XslpLiaison implements XSLTLiaison { XSLProcessor processor; XSLStylesheet xslSheet; + public XslpLiaison() { + processor = new XSLProcessor(); + } + public void setStylesheet(String fileName) throws Exception { XSLReader xslReader = new XSLReader(); xslSheet = xslReader.read( fileName ); }; public void transform(String infile, String outfile) throws Exception { - if (processor == null) processor = new XSLProcessor(); processor.process(infile, xslSheet, new FileWriter(outfile)); }