Class XPathException

    • Constructor Detail

      • XPathException

        public XPathException​(java.lang.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​(java.lang.Throwable err)
        Create an XPathException that wraps another exception
        Parameters:
        err - the wrapped error or exception
      • XPathException

        public XPathException​(java.lang.String message,
                              java.lang.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​(java.lang.String message,
                              java.lang.String errorCode,
                              Location 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​(java.lang.String message,
                              java.lang.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​(java.lang.String message,
                              java.lang.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 Detail

      • makeXPathException

        public static XPathException makeXPathException​(java.lang.Exception err)
        Create an XPathException from an exception of another kind. If the supplied Exception is an XPathException; if its cause is an XPathException, that XPathException is returned unchanged; otherwise the supplied Exception is wrapped.
        Parameters:
        err - the supplied Exception
        Returns:
        an XPathException obtained from the supplied TransformerException
      • getMessage

        public java.lang.String getMessage()
        Get the error message. Adapted on C# to get the message from a contained exception
        Overrides:
        getMessage in class java.lang.Throwable
      • withMessage

        public XPathException withMessage​(java.lang.String message)
        Construct an exception that differs from a supplied exception only by changing the error message
        Parameters:
        message - the new message
        Returns:
        a new exception, copying all the properties of this exception except for the message
      • 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
      • withXPathContext

        public XPathException withXPathContext​(XPathContext context)
        Set dynamic context information in the exception object
        Parameters:
        context - the dynamic context at the time the exception occurred
        Returns:
        this XPathException object in a modified state
      • setLocation

        public void setLocation​(Location loc)
      • withLocation

        public XPathException withLocation​(Location loc)
        Set location information in the exception object
        Parameters:
        loc - indicating where the exception occurred
        Returns:
        this XPathException object in a modified state
      • getFailingExpression

        public Expression getFailingExpression()
      • getLocator

        public Location getLocator()
        Method getLocator retrieves an instance of a SourceLocator object that specifies where an error occured.
        Overrides:
        getLocator in class javax.xml.transform.TransformerException
        Returns:
        A SourceLocator object, or null if none was specified.
      • 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
      • setIsSyntaxError

        public void setIsSyntaxError​(boolean is)
        Mark this exception to indicate that it represents (or does not represent) a syntax error
        Parameters:
        is - true if this exception is a syntax error
      • isSyntaxError

        public boolean isSyntaxError()
        Ask whether this exception represents a syntax error
        Returns:
        true if this exception is a syntax 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
      • asTypeError

        public XPathException asTypeError()
        Mark this exception to indicate that it represents a type error
        Returns:
        this XPathException in a modified state
      • asTypeErrorIf

        public XPathException asTypeErrorIf​(boolean condition)
      • isTypeError

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

        public void setIsGlobalError​(boolean is)
        Mark this exception to indicate that it originated while evaluating a global variable reference, and is therefore to be reported regardless of the try/catch context surrounding the variable reference
        Parameters:
        is - true if this exception is a global variable error
      • isGlobalError

        public boolean isGlobalError()
        Ask whether this exception originated while evaluating a global variable reference, and is therefore to be reported regardless of the try/catch context surrounding the variable reference
        Returns:
        true if this exception is a global variable error
      • setHostLanguage

        public void setHostLanguage​(java.lang.String language)
        Set the host language code
        Parameters:
        language - a value such as "XPath", "XQuery", "XSLT Pattern"
      • setHostLanguage

        public void setHostLanguage​(HostLanguage language)
        Set the host language code
        Parameters:
        language - a value such as "XPath", "XQuery", "XSLT Pattern"
      • getHostLanguage

        public java.lang.String getHostLanguage()
        Get the host language code
        Returns:
        a value such as "XPath", "XQuery", "XSLT Pattern", or null
      • setErrorCode

        public void setErrorCode​(java.lang.String code)
        Set the error code. The error code is a QName; this method sets the local part of the name, setting 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
      • withErrorCode

        public XPathException withErrorCode​(java.lang.String code)
        Set the error code. The error code is a QName; this method sets the local part of the name, setting 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
        Returns:
        this XPathException object in a modified state
      • replacingErrorCode

        public XPathException replacingErrorCode​(java.lang.String oldCode,
                                                 java.lang.String newCode)
      • maybeSetErrorCode

        public void maybeSetErrorCode​(java.lang.String code)
        Set the error code, provided it has not already been set. The error code is a QName; this method sets the local part of the name, setting 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
      • maybeWithErrorCode

        public XPathException maybeWithErrorCode​(java.lang.String code)
      • setErrorCodeQName

        public void setErrorCodeQName​(StructuredQName code)
        Set the error code. The error code is a QName; this method sets both parts of the name.
        Parameters:
        code - The error code as a QName
      • getErrorCodeQName

        public StructuredQName getErrorCodeQName()
        Get the error code as a QName
        Returns:
        the error code as a QName
      • showErrorCode

        public java.lang.String showErrorCode()
      • hasErrorCode

        public boolean hasErrorCode​(java.lang.String... codes)
        Ask whether the error code is a specific system error code
        Parameters:
        codes - the local part of the error(s) expected
        Returns:
        true if the error code matches one of the required codes, treated as local names in the standard error namespace
      • setErrorObject

        public void setErrorObject​(Sequence 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 Sequence 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​(boolean reported)
        Mark this error to indicate that it has already been reported to the error listener, and should not be reported again
        Parameters:
        reported - true if the error has been reported to the error listener
      • 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​(Location here)
        Set the location of a message, only if it is not already set
        Parameters:
        here - 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)
      • isReportableStatically

        public boolean isReportableStatically()
        Tests whether this is a dynamic error that may be reported statically if it is detected statically
        Returns:
        true if the error can be reported statically