Package net.sf.saxon.s9api
Interface XmlProcessingError
- All Known Implementing Classes:
XmlProcessingException
,XmlProcessingIncident
public interface XmlProcessingError
The XmlProcessingError class contains information about an error detected during
compilation or execution of a stylesheet, query, XPath expression, or schema
- Since:
- 10.0. In 11.0, the super-interface
StaticError
is dropped, as it had become misleading.
-
Method Summary
Modifier and TypeMethodDescriptionReturn an XmlProcessingError containing the same information, but to be treated as a warning conditiongetCause()
Return an underlying exception.Get the error code, as a QName.Get the Expression that failed, if knownGet the location information associated with the errorGet the error message associated with this errordefault String
Get The URI of the query or stylesheet module in which the error was detected (as a string) May be null if the location of the error is unknown, or if the error is not localized to a specific module, or if the module in question has no known URI (for example, if it was supplied as an anonymous Stream)getPath()
Get the absolute XPath expression that identifies the node within its document where the error occurred, if availableAsk whether this error is to be treated as fatal, and return the associated messageboolean
Ask whether this static error has already been reportedboolean
Ask whether this is a static error, defined as an error that can be detected during static analysis of a stylesheet, query, schema, or XPath expression.boolean
Ask whether this is a type error.boolean
Ask whether this error is being reported as a warning condition.void
setAlreadyReported
(boolean reported) Say whether this error has already been reportedvoid
setTerminationMessage
(String message) Indicate that this error is to be treated as fatal; that is, execution will be abandoned after reporting this error.
-
Method Details
-
getHostLanguage
HostLanguage getHostLanguage() -
isStaticError
boolean isStaticError()Ask whether this is a static error, defined as an error that can be detected during static analysis of a stylesheet, query, schema, or XPath expression.- Returns:
- true if this is a static error
-
isTypeError
boolean isTypeError()Ask whether this is a type error. Saxon reports type errors statically if it can establish that a supplied value will never satisfy the required type- Returns:
- true if this is a type error
-
getErrorCode
QName getErrorCode()Get the error code, as a QName. This may be null if no error code has been assigned- Returns:
- QName
-
getMessage
String getMessage()Get the error message associated with this error- Returns:
- String the error message
-
getLocation
Location getLocation()Get the location information associated with the error- Returns:
- the location of the error. The result is never null, though it may be a location with little useful information.
-
getModuleUri
Get The URI of the query or stylesheet module in which the error was detected (as a string) May be null if the location of the error is unknown, or if the error is not localized to a specific module, or if the module in question has no known URI (for example, if it was supplied as an anonymous Stream)- Returns:
- the URI identifying the location of the stylesheet module or query module
-
getFailingExpression
Expression getFailingExpression()Get the Expression that failed, if known- Returns:
- the failing expression, or null
-
isWarning
boolean isWarning()Ask whether this error is being reported as a warning condition. If so, applications may ignore the condition, though the results may not be as intended.- Returns:
- true if a condition is detected that is not an error according to the language specification, but which may indicate that the query or stylesheet might behave in unexpected ways
-
getPath
String getPath()Get the absolute XPath expression that identifies the node within its document where the error occurred, if available- Returns:
- a path expression identifying the location of the error within an XML document, or null if the information is not available
-
getCause
Throwable getCause()Return an underlying exception. For example, if the static error was caused by failure to retrieve another stylesheet or query module, this may contain the IO exception that was reported; or if the XML parser was unable to parse a stylesheet module, it may contain a SAXException reported by the parser.- Returns:
- the underlying exception if there was one, or null otherwise
-
asWarning
XmlProcessingError asWarning()Return an XmlProcessingError containing the same information, but to be treated as a warning condition- Returns:
- an XmlProcessingError to be treated as a warning
-
setTerminationMessage
Indicate that this error is to be treated as fatal; that is, execution will be abandoned after reporting this error. This method may be called by anErrorReporter
, for example if the error is considered so severe that further processing is not worthwhile, or if too many errors have been signalled. There is no absolute guarantee that setting this property will cause execution to be abandoned. If a dynamic error is marked as fatal, it will generally not be caught by any try/catch mechanism within the stylesheet or query.- Parameters:
message
- an error message giving the reason for the fatal error
-
getTerminationMessage
String getTerminationMessage()Ask whether this error is to be treated as fatal, and return the associated message- Returns:
- a non-null message if the error has been marked as a fatal error.
-
isAlreadyReported
boolean isAlreadyReported()Ask whether this static error has already been reported- Returns:
- true if the error has already been reported
-
setAlreadyReported
void setAlreadyReported(boolean reported) Say whether this error has already been reported- Parameters:
reported
- true if the error has been reported
-