net.sf.saxon.trans

## Class XPathException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - javax.xml.transform.TransformerException
      - - net.sf.saxon.trans.XPathException

- All Implemented Interfaces:
    Serializable
  Direct Known Subclasses:
    CopyNamespaceSensitiveException, NoDynamicContextException, NoOpenStartTagException, PTreeReader.PTreeException, 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:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `XPathException.Circularity` Subclass of XPathException used to report circularities

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `XPathException(String message)` Create an XPathException with an error message
    `XPathException(String message, SourceLocator loc)` Create an XPathException that supplies an error message and supplies location information
    `XPathException(String message, SourceLocator loc, Throwable err)` Create an XPathException that supplies an error message and wraps an underlying exception and supplies location information
    `XPathException(String message, String errorCode)` Create an XPathException that supplies an error message and an error code
    `XPathException(String message, String errorCode, XPathContext context)` Create an XPathException that supplies an error message and an error code and provides the dynamic context
    `XPathException(String message, Throwable err)` Create an XPathException that supplies an error message and wraps an underlying exception
    `XPathException(Throwable err)` Create an XPathException that wraps another exception

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getAdditionalLocationText()` Get the additional location text, if any.
    `String` | `getErrorCodeLocalPart()` Get the local part of the name of the error code
    `String` | `getErrorCodeNamespace()` Get the namespace URI part of the name of the error code
    `StructuredQName` | `getErrorCodeQName()` Get the error code as a QName
    `Sequence` | `getErrorObject()` Get the error object associated with this error.
    `XPathContext` | `getXPathContext()` Get the dynamic context at the time the exception occurred
    `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
    `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
    `boolean` | `isReportableStatically()` Tests whether this is a dynamic error that may be reported statically if it is detected statically
    `boolean` | `isStaticError()` Ask whether this exception represents a static error
    `boolean` | `isTypeError()` Ask whether this exception represents a type error
    `XPathException` | `makeStatic()` Force an exception to a static error
    `static XPathException` | `makeXPathException(TransformerException err)` Create an XPathException from a JAXP TransformerException.
    `void` | `maybeSetContext(XPathContext context)` Set the context of a message, only if it is not already set
    `void` | `maybeSetErrorCode(String code)` Set the error code, provided it has not already been set.
    `void` | `maybeSetLocation(SourceLocator locator)` Set the location of a message, only if it is not already set
    `void` | `setAdditionalLocationText(String text)` Set additional location text.
    `void` | `setErrorCode(String code)` Set the error code.
    `void` | `setErrorCodeQName(StructuredQName code)` Set the error code.
    `void` | `setErrorObject(Sequence value)` Set the error object associated with this error.
    `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
    `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
    `void` | `setIsStaticError(boolean is)` Mark this exception to indicate that it represents (or does not represent) a static error
    `void` | `setIsTypeError(boolean is)` Mark this exception to indicate that it represents (or does not represent) a type error
    `void` | `setXPathContext(XPathContext context)` Set dynamic context information in the exception object

    - ### Methods inherited from class javax.xml.transform.TransformerException

      `getCause, getException, getLocationAsString, getLocator, getMessageAndLocation, initCause, printStackTrace, printStackTrace, printStackTrace, setLocator`

    - ### Methods inherited from class java.lang.Throwable

      `addSuppressed, fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, setStackTrace, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### 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 Detail

    - #### 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

    - #### setAdditionalLocationText

          public void setAdditionalLocationText(String text)

      Set additional location text. This gives extra information about the position of the error in textual form. Where XPath is embedded within a host language such as XSLT, the formal location information identifies the location of the error in the XSLT module, while this string locates the error within a specific XPath expression. The information is typically used only for static errors.
      Parameters:
        `text` - additional information about the location of the error, designed to be output as a prefix to the error message if desired. (It is not concatenated with the message, because it may be superfluous in an IDE environment.)

    - #### getAdditionalLocationText

          public String getAdditionalLocationText()

      Get the additional location text, if any. This gives extra information about the position of the error in textual form. Where XPath is embedded within a host language such as XSLT, the formal location information identifies the location of the error in the XSLT module, while this string locates the error within a specific XPath expression. The information is typically used only for static errors.
      Returns:
        additional information about the location of the error, designed to be output as a prefix to the error message if desired. (It is not concatenated with the message, because it may be superfluous in an IDE environment.)

    - #### 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

    - #### 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

    - #### 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, 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

    - #### maybeSetErrorCode

          public void maybeSetErrorCode(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

    - #### 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

    - #### 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(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(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)

    - #### 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

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.