Class StandardErrorListener
- java.lang.Object
-
- net.sf.saxon.StandardErrorListener
-
- All Implemented Interfaces:
java.io.Serializable
,javax.xml.transform.ErrorListener
public class StandardErrorListener extends java.lang.Object implements javax.xml.transform.ErrorListener, java.io.Serializable
StandardErrorListener is the standard error handler for XSLT processing errors, used if no other ErrorListener is nominated.- Author:
- Michael H. Kay
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected java.io.PrintStream
errorOutput
-
Constructor Summary
Constructors Constructor Description StandardErrorListener()
Create a Standard Error Listener
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.lang.String
abbreviatePath(java.lang.String uri)
Abbreviate a URI (if requested)void
error(javax.xml.transform.TransformerException exception)
Receive notification of a recoverable error.void
fatalError(javax.xml.transform.TransformerException exception)
Receive notification of a non-recoverable error.java.io.PrintStream
getErrorOutput()
Get the error output streamstatic java.lang.String
getExpandedMessage(javax.xml.transform.TransformerException err)
Get a string containing the message for this exception and all contained exceptionsjava.lang.String
getLocationMessage(javax.xml.transform.TransformerException err)
Get a string identifying the location of an error.int
getRecoveryPolicy()
Get the recovery policyStandardErrorListener
makeAnother(int hostLanguage)
Make a clean copy of this ErrorListener.static void
printStackTrace(java.io.PrintStream out, XPathContext context)
Print a stack trace to a specified output destinationvoid
setErrorOutput(java.io.PrintStream writer)
Set output destination for error messages (default is System.err)void
setRecoveryPolicy(int policy)
Set the recovery policyvoid
warning(javax.xml.transform.TransformerException exception)
Receive notification of a warning.
-
-
-
Method Detail
-
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
-
setErrorOutput
public void setErrorOutput(java.io.PrintStream writer)
Set output destination for error messages (default is System.err)- Parameters:
writer
- The PrintStream to use for error messages
-
getErrorOutput
public java.io.PrintStream getErrorOutput()
Get the error output stream- Returns:
- the error output stream
-
setRecoveryPolicy
public void setRecoveryPolicy(int policy)
Set the recovery policy- Parameters:
policy
- the recovery policy for XSLT recoverable errors. One ofConfiguration.RECOVER_SILENTLY
,Configuration.RECOVER_WITH_WARNINGS
,Configuration.DO_NOT_RECOVER
.
-
getRecoveryPolicy
public int getRecoveryPolicy()
Get the recovery policy- Returns:
- the recovery policy for XSLT recoverable errors. One of
Configuration.RECOVER_SILENTLY
,Configuration.RECOVER_WITH_WARNINGS
,Configuration.DO_NOT_RECOVER
.
-
warning
public void warning(javax.xml.transform.TransformerException exception) throws javax.xml.transform.TransformerException
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.
- Specified by:
warning
in interfacejavax.xml.transform.ErrorListener
- 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:
TransformerException
-
error
public void error(javax.xml.transform.TransformerException exception) throws javax.xml.transform.TransformerException
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
- Specified by:
error
in interfacejavax.xml.transform.ErrorListener
- Parameters:
exception
- The error information encapsulated in a transformer exception.- Throws:
javax.xml.transform.TransformerException
- if the application chooses to discontinue the transformation.- See Also:
TransformerException
-
fatalError
public void fatalError(javax.xml.transform.TransformerException exception) throws javax.xml.transform.TransformerException
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.
- Specified by:
fatalError
in interfacejavax.xml.transform.ErrorListener
- Parameters:
exception
- The error information encapsulated in a transformer exception.- Throws:
javax.xml.transform.TransformerException
- if the application chooses to discontinue the transformation.- See Also:
TransformerException
-
getLocationMessage
public java.lang.String getLocationMessage(javax.xml.transform.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
-
abbreviatePath
public static java.lang.String abbreviatePath(java.lang.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
-
getExpandedMessage
public static java.lang.String getExpandedMessage(javax.xml.transform.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.
-
printStackTrace
public static void printStackTrace(java.io.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 outputcontext
- the XPath dynamic execution context (which holds the head of a linked list of context objects, representing the execution stack)
-
-