XSLT exception handling

webmasterbeta

New Member
We test a particular constriant in our XSLT and throw a custom exception on failure:

<xsl:when test="......">
<xsl:value-of
select="exception:throwException('Recording failed')"/>
</xsl:when>

Here exception is defined as:
xmlns:exception="http://..../util.exception.ValidationExceptionThrower"
The problem is that this kind of exception handling by-passes the java code.
In our Java client,we have the following:

{
.........

TransformerFactory tFactory = TransformerFactory.newInstance();

transformer = tFactory.newTransformer(source);
....
StreamResult result = new StreamResult();
java.io.ByteArrayOutputStream outputXmlResult = new
java.io.ByteArrayOutputStream();
result.setOutputStream(outputXmlResult);
transformer.transform(xmlsource, result);
setOutXml(outputXmlResult.toString());


return "Success";

}

catch(ValidationException ex) {
System.out.println("INSIDE VALIDATIONEXCEPTION");
......
}
finally {
return "failure";
}

}

The exception thrown by XSLT does not get trapped by the error handler in the client.
How can XSLT be adapted to throw a 'catchable' exception.
 
Back
Top