## 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
`static class` `XPathException.Circularity` Subclass of XPathException used to report circularities

Constructor Summary
`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
`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
`Value` `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(Value 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
`fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, 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(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(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` -

### 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-2010 Saxonica Limited. All rights reserved.