net.sf.saxon

Class StandardErrorListener

public class StandardErrorListener extends Object implements ErrorListener, Serializable

StandardErrorListener is the standard error handler for XSLT and XQuery processing errors, used if no other ErrorListener is nominated.

Author: Michael H. Kay

Field Summary
protected PrintStreamerrorOutput
Constructor Summary
StandardErrorListener()
Create a Standard Error Listener
Method Summary
static StringabbreviatePath(String uri)
Abbreviate a URI (if requested)
voiderror(TransformerException exception)
Receive notification of a recoverable error.
voidfatalError(TransformerException exception)
Receive notification of a non-recoverable error.
PrintStreamgetErrorOutput()
Get the error output stream
static StringgetExpandedMessage(TransformerException err)
Get a string containing the message for this exception and all contained exceptions
StringgetLocationMessage(TransformerException err)
Get a string identifying the location of an error.
intgetRecoveryPolicy()
Get the recovery policy
StandardErrorListenermakeAnother(int hostLanguage)
Make a clean copy of this ErrorListener.
static voidprintStackTrace(PrintStream out, XPathContext context)
Print a stack trace to a specified output destination
voidsetErrorOutput(PrintStream writer)
Set output destination for error messages (default is System.err)
voidsetRecoveryPolicy(int policy)
Set the recovery policy
voidwarning(TransformerException exception)
Receive notification of a warning.

Field Detail

errorOutput

protected transient PrintStream errorOutput

Constructor Detail

StandardErrorListener

public StandardErrorListener()
Create a Standard Error Listener

Method Detail

abbreviatePath

public static String abbreviatePath(String uri)
Abbreviate a URI (if requested)

Parameters: uri the URI to be abbreviated

Returns: the abbreviated URI, unless full path names were requested, in which case the URI as supplied

error

public void error(TransformerException exception)
Receive notification of a recoverable error.

The transformer must continue to provide normal parsing events after invoking this method. It should still be possible for the application to process the document through to the end.

The action of the standard error listener depends on the recovery policy that has been set, which may be one of RECOVER_SILENTLY, RECOVER_WITH_WARNING, or DO_NOT_RECOVER

Parameters: exception The error information encapsulated in a transformer exception.

Throws: TransformerException if the application chooses to discontinue the transformation.

See Also: TransformerException

fatalError

public void fatalError(TransformerException exception)
Receive notification of a non-recoverable error.

The application must assume that the transformation cannot continue after the Transformer has invoked this method, and should continue (if at all) only to collect addition error messages. In fact, Transformers are free to stop reporting events once this method has been invoked.

Parameters: exception The error information encapsulated in a transformer exception.

Throws: TransformerException if the application chooses to discontinue the transformation.

See Also: TransformerException

getErrorOutput

public PrintStream getErrorOutput()
Get the error output stream

Returns: the error output stream

getExpandedMessage

public static String getExpandedMessage(TransformerException err)
Get a string containing the message for this exception and all contained exceptions

Parameters: err the exception containing the required information

Returns: a message that concatenates the message of this exception with its contained exceptions, also including information about the error code and location.

getLocationMessage

public String getLocationMessage(TransformerException err)
Get a string identifying the location of an error.

Parameters: err the exception containing the location information

Returns: a message string describing the location

getRecoveryPolicy

public int getRecoveryPolicy()
Get the recovery policy

Returns: the recovery policy for XSLT recoverable errors. One of RECOVER_SILENTLY, RECOVER_WITH_WARNINGS, DO_NOT_RECOVER.

makeAnother

public StandardErrorListener makeAnother(int hostLanguage)
Make a clean copy of this ErrorListener. This is necessary because the standard error listener is stateful (it remembers how many errors there have been)

Parameters: hostLanguage the host language (not used by this implementation)

Returns: a copy of this error listener

printStackTrace

public static void printStackTrace(PrintStream out, XPathContext context)
Print a stack trace to a specified output destination

Parameters: out the print stream to which the stack trace will be output context the XPath dynamic execution context (which holds the head of a linked list of context objects, representing the execution stack)

setErrorOutput

public void setErrorOutput(PrintStream writer)
Set output destination for error messages (default is System.err)

Parameters: writer The PrintStream to use for error messages

setRecoveryPolicy

public void setRecoveryPolicy(int policy)
Set the recovery policy

Parameters: policy the recovery policy for XSLT recoverable errors. One of RECOVER_SILENTLY, RECOVER_WITH_WARNINGS, DO_NOT_RECOVER.

warning

public void warning(TransformerException exception)
Receive notification of a warning.

Transformers can use this method to report conditions that are not errors or fatal errors. The default behaviour is to take no action.

After invoking this method, the Transformer must continue with the transformation. It should still be possible for the application to process the document through to the end.

Parameters: exception The warning information encapsulated in a transformer exception.

Throws: javax.xml.transform.TransformerException if the application chooses to discontinue the transformation.

See Also: javax.xml.transform.TransformerException