You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by il...@apache.org on 2003/04/02 20:23:14 UTC
cvs commit: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
ilene 2003/04/02 10:23:14
Modified: java/src/org/apache/xalan/xsltc/trax
TransformerFactoryImpl.java
Log:
If there is an error listener registered to a TransformerFactory, and the
stylesheet cannot be compiled, call fatalError, in addition to throwing
the TransformerConfigurationException.
Revision Changes Path
1.61 +24 -12 xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerFactoryImpl.java
Index: TransformerFactoryImpl.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerFactoryImpl.java,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -r1.60 -r1.61
--- TransformerFactoryImpl.java 31 Mar 2003 13:13:09 -0000 1.60
+++ TransformerFactoryImpl.java 2 Apr 2003 18:23:14 -0000 1.61
@@ -735,17 +735,29 @@
}
// Check that the transformation went well before returning
- if (bytecodes == null) {
- // Pass compiler errors to the error listener
- if (_errorListener != null) {
- passErrorsToListener(xsltc.getErrors());
- }
- else {
- xsltc.printErrors();
- }
- ErrorMsg err = new ErrorMsg(ErrorMsg.JAXP_COMPILE_ERR);
- throw new TransformerConfigurationException(err.toString());
- }
+ if (bytecodes == null) {
+
+ ErrorMsg err = new ErrorMsg(ErrorMsg.JAXP_COMPILE_ERR);
+ TransformerConfigurationException exc = new TransformerConfigurationException(err.toString());
+
+ // Pass compiler errors to the error listener
+ if (_errorListener != null) {
+ passErrorsToListener(xsltc.getErrors());
+
+ // As required by TCK 1.2, send a fatalError to the
+ // error listener because compilation of the stylesheet
+ // failed and no further processing will be possible.
+ try {
+ _errorListener.fatalError(exc);
+ } catch (TransformerException te) {
+ // well, we tried.
+ }
+ }
+ else {
+ xsltc.printErrors();
+ }
+ throw exc;
+ }
return new TemplatesImpl(bytecodes, transletName,
xsltc.getOutputProperties(), _indentNumber, this);
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org