Class XPathException

All Implemented Interfaces:
Serializable
Direct Known Subclasses:
CopyNamespaceSensitiveException, DynamicError, NoDynamicContextException, NoOpenStartTagException, StaticError, TerminationException, ValidationException, XPathException.Circularity

public class XPathException extends TransformerException
XPathException is used to indicate an error in an XPath expression. It will generally be either a StaticError or a DynamicError; ValidationExceptions (arising from schema validation) form a third category
See Also:
  • Constructor Details

    • XPathException

      public XPathException(String message)
      Create an XPathException with an error message
      Parameters:
      message - the message explaining what is wrong. This should not include location information.
    • XPathException

      public XPathException(Throwable err)
      Create an XPathException that wraps another exception
      Parameters:
      err - the wrapped error or exception
    • XPathException

      public XPathException(String message, Throwable err)
      Create an XPathException that supplies an error message and wraps an underlying exception
      Parameters:
      message - the error message (which should generally explain what Saxon was doing when the underlying exception occurred)
      err - the underlying exception (the cause of this exception)
    • XPathException

      public XPathException(String message, SourceLocator loc)
      Create an XPathException that supplies an error message and supplies location information
      Parameters:
      message - the error message
      loc - indicates where in the user-written query or stylesheet (or sometimes in a source document) the error occurred
    • XPathException

      public XPathException(String message, SourceLocator loc, Throwable err)
      Create an XPathException that supplies an error message and wraps an underlying exception and supplies location information
      Parameters:
      message - the error message (which should generally explain what Saxon was doing when the underlying exception occurred)
      loc - indicates where in the user-written query or stylesheet (or sometimes in a source document) the error occurred
      err - the underlying exception (the cause of this exception)
    • XPathException

      public XPathException(String message, String errorCode)
      Create an XPathException that supplies an error message and an error code
      Parameters:
      message - the error message
      errorCode - the error code - an eight-character code, which is taken to be in the standard system error code namespace
    • XPathException

      public XPathException(String message, String errorCode, XPathContext context)
      Create an XPathException that supplies an error message and an error code and provides the dynamic context
      Parameters:
      message - the error message
      errorCode - the error code - an eight-character code, which is taken to be in the standard system error code namespace
      context - the dynamic evaluation context
  • Method Details

    • makeXPathException

      public static XPathException makeXPathException(TransformerException err)
      Create an XPathException from a JAXP TransformerException. If the TransformerException is an XPathException, or if its cause is an XPathException, that XPathException is returned unchanged; otherwise the TransformerException is wrapped.
      Parameters:
      err - the supplied JAXP TransformerException
      Returns:
      an XPathException obtained from the supplied TransformerException
    • makeStatic

      public XPathException makeStatic()
      Force an exception to a static error
      Returns:
      this exception, marked as a static error
    • setXPathContext

      public void setXPathContext(XPathContext context)
      Set dynamic context information in the exception object
      Parameters:
      context - the dynamic context at the time the exception occurred
    • getXPathContext

      public XPathContext getXPathContext()
      Get the dynamic context at the time the exception occurred
      Returns:
      the dynamic context if known; otherwise null
    • setIsStaticError

      public void setIsStaticError(boolean is)
      Mark this exception to indicate that it represents (or does not represent) a static error
      Parameters:
      is - true if this exception is a static error
    • isStaticError

      public boolean isStaticError()
      Ask whether this exception represents a static error
      Returns:
      true if this exception is a static error
    • setIsTypeError

      public void setIsTypeError(boolean is)
      Mark this exception to indicate that it represents (or does not represent) a type error
      Parameters:
      is - true if this exception is a type error
    • isTypeError

      public boolean isTypeError()
      Ask whether this exception represents a type error
      Returns:
      true if this exception is a type error
    • setErrorCode

      public void setErrorCode(String code)
      Set the error code. The error code is a QName; this method sets the local part of the name, and if no other namespace has been set, it sets the namespace of the error code to the standard system namespace NamespaceConstant.ERR
      Parameters:
      code - The local part of the name of the error code
    • setErrorCode

      public void setErrorCode(String namespace, String code)
      Set the error code. The error code is a QName; this method sets both parts of the name.
      Parameters:
      namespace - The namespace URI part of the name of the error code
      code - The local part of the name of the error code
    • getErrorCodeLocalPart

      public String getErrorCodeLocalPart()
      Get the local part of the name of the error code
      Returns:
      the local part of the name of the error code
    • getErrorCodeNamespace

      public String getErrorCodeNamespace()
      Get the namespace URI part of the name of the error code
      Returns:
      the namespace URI part of the name of the error code
    • setErrorObject

      public void setErrorObject(Value value)
      Set the error object associated with this error. This is used by the standard XPath fn:error() function
      Parameters:
      value - the error object, as supplied to the fn:error() function
    • getErrorObject

      public Value getErrorObject()
      Get the error object associated with this error. This is used by the standard XPath fn:error() function
      Returns:
      the error object, as supplied to the fn:error() function
    • setHasBeenReported

      public void setHasBeenReported()
      Mark this error to indicate that it has already been reported to the error listener, and should not be reported again
    • hasBeenReported

      public boolean hasBeenReported()
      Ask whether this error is marked to indicate that it has already been reported to the error listener, and should not be reported again
      Returns:
      true if this error has already been reported
    • maybeSetLocation

      public void maybeSetLocation(SourceLocator locator)
      Set the location of a message, only if it is not already set
      Parameters:
      locator - the current location (or null)
    • maybeSetContext

      public void maybeSetContext(XPathContext context)
      Set the context of a message, only if it is not already set
      Parameters:
      context - the current XPath context (or null)