tmiller 01/06/05 06:01:04
Modified: java/src/org/apache/xalan/xsltc/compiler Parser.java
Log:
stylesheet compilation error listening added for
TrAX support
Revision Changes Path
1.5 +47 -1
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Parser.java
Index: Parser.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Parser.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- Parser.java 2001/05/02 10:25:00 1.4
+++ Parser.java 2001/06/05 13:00:58 1.5
@@ -1,5 +1,5 @@
/*
- * @(#)$Id: Parser.java,v 1.4 2001/05/02 10:25:00 morten Exp $
+ * @(#)$Id: Parser.java,v 1.5 2001/06/05 13:00:58 tmiller Exp $
*
* The Apache Software License, Version 1.1
*
@@ -76,6 +76,9 @@
import javax.xml.parsers.*;
+import javax.xml.transform.ErrorListener;
+import javax.xml.transform.TransformerException;
+
import org.w3c.dom.*;
import org.xml.sax.*;
@@ -107,6 +110,12 @@
private int _currentImportPrecedence = 1;
+ private ErrorListener _errorListener = null;
+
+ public void setErrorListener(ErrorListener listener) {
+ _errorListener = listener;
+ }
+
public Parser(XSLTC xsltc) {
_xsltc = xsltc;
}
@@ -984,16 +993,52 @@
*/
public void addError(ErrorMsg error) {
_errors.addElement(error);
+ // support for TrAX Error Listener
+ if (_errorListener != null ) {
+ postErrorToListener(error.toString());
+ }
+ }
+
+ /**
+ * inform TrAX error listener of this error
+ */
+ private void postErrorToListener(String msg) {
+ try {
+ _errorListener.error(new TransformerException(
+ "Stylesheet Parsing Error: " + msg));
+ } catch (TransformerException e) {
+ // TBD
+ }
}
+ /**
+ * Prints all compile-time warnings
+ */
public void addWarning(ErrorMsg msg) {
_warnings.addElement(msg);
+ // support for TrAX Error Listener
+ if (_errorListener != null ) {
+ postWarningToListener(msg.toString());
+ }
+ }
+
+ /**
+ * inform TrAX error listener of this warning
+ */
+ private void postWarningToListener(String msg) {
+ try {
+ _errorListener.warning(new TransformerException(
+ "Stylesheet Parsing Warning: " + msg));
+ } catch (TransformerException e) {
+ // TBD
+ }
}
/**
* Prints all compile-time errors
*/
public void printErrors() {
+ if (_errorListener != null) return; //support for TrAX Error Listener
System.err.println("Compile errors:");
final int size = _errors.size();
for (int i = 0; i < size; i++) {
@@ -1002,6 +1047,7 @@
}
public void printWarnings() {
+ if (_errorListener != null) return; //support for TrAX Error Listener
if (_warnings.size() > 0) {
System.err.println("Warning:");
final int size = _warnings.size();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]