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.
<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.