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]

Reply via email to