O'Reilly logo

XSLT, 2nd Edition by Doug Tidwell

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Name

[2.0] error()

Raises an error. This is equivalent to throwing an exception in Java, C++, Ruby, and other languages.

Syntax

none error()
none error($error as xs:QName)
none error($error as xs:QName?, $description as xs:string)
none error($error as xs:QName?, $description as xs:string, 
           $error-object as item()*)

Inputs

This function has four different signatures. The three optional parameters defined in the Syntax” section are the QName associated with the error, an xs:string, and a sequence of items. How these inputs are processed is implementation-defined, so useful or appropriate values for these arguments vary from one processor to the next.

Output

This function never returns. The error() function returns an error to the external processing environment. How (or if) the QName, string, and sequence of items passed to this function are delivered to the environment is implementation-defined.

Defined in

XQuery 1.0 and XPath 2.0 Functions and Operators section 3, “The Error Function.” In addition, Appendix C of this spec defines a number of error conditions and codes. For example, err:FODT0003 is the error code for a timezone value that is not valid. The err namespace is bound to the URI http://www.w3.org/2005/xqt-errors—we’ll use this in our examples. You’re free to create your own error codes and messages if you like.

Example

We’ll look at four stylesheets that throw errors, one for each of the four method signatures of the error() function. Here’s the first, which we simply call error() ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required