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

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      XmlProcessingError asWarning()
      Return an XmlProcessingError containing the same information, but to be treated as a warning condition
      java.lang.Throwable getCause()
      Return an underlying exception.
      QName getErrorCode()
      Get the error code, as a QName.
      Expression getFailingExpression()
      Get the Expression that failed, if known
      HostLanguage getHostLanguage()  
      Location getLocation()
      Get the location information associated with the error
      java.lang.String getMessage()
      Get the error message associated with this error
      default java.lang.String 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)
      java.lang.String getPath()
      Get the absolute XPath expression that identifies the node within its document where the error occurred, if available
      java.lang.String getTerminationMessage()
      Ask whether this error is to be treated as fatal, and return the associated message
      boolean isAlreadyReported()
      Ask whether this static error has already been reported
      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.
      boolean isTypeError()
      Ask whether this is a type error.
      boolean isWarning()
      Ask whether this error is being reported as a warning condition.
      void setAlreadyReported​(boolean reported)
      Say whether this error has already been reported
      void setTerminationMessage​(java.lang.String message)
      Indicate that this error is to be treated as fatal; that is, execution will be abandoned after reporting this error.
    • Method Detail

      • 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

        java.lang.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

        default java.lang.String 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

        java.lang.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

        java.lang.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

        void setTerminationMessage​(java.lang.String message)
        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 an ErrorReporter, 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

        java.lang.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