XQuery Functions

XQuery 1.0, XPath 2.0, and XSLT 2.0 share the same functions library.

A list of different types of XQuery functions:

  • Accessor Functions
  • Error and Trace Functions
  • Numeric Functions
  • String Functions
  • AnyURI Functions
  • Boolean Functions
  • Duration/Date/Time Functions
  • QName Functions
  • Node Functions
  • Sequence Functions
  • Context Functions

Functions are specified with fn: prefix. For example: fn:string(). But fn: is the default prefix of the namespace, so you do not need to be prefix fn when function is called.

Accessor Functions

Index Name Description
1) fn:node-name(node) It is used to return the node-name of the argument node.
2) fn:nilled(node) It is used to return a Boolean value indicating whether the argument node is nil.
3) fn:data(item.item,...) It is used to take a sequence of items and return a sequence of atomic values.
4) fn:base-uri()
fn:base-uri(node)
It returns the value of the base-uri property of the current or specified node.
5) fn:document-uri(node) It returns the value of the document-uri property for the specified node.

Error and Trace Functions

Index Name Description
1) fn:error()
fn:error(error)
fn:error(error,description)
fn:error(error,description,error-object)
Example: error(fn:qname('http://example.com/test', 'err:toohigh'), 'error: price is too high')result: returns http://example.com/test#toohigh and the string "error: price is too high" to the external processing environment.
2) fn:trace(value,label) it is used to debug queries.

Numeric Values Functions

Index Name Description
1) fn:abs(num) It returns the absolute value of the argument.
For example: abs(3.14)
Result: 3.14
2) fn:abs(num) It returns the absolute value of the argument
For example: abs(3.14)
Result: 3.14
Example: abs(-3.14)
Result: 3.14
3) fn:ceiling(num) It returns the smallest integer that is greater than the number argument
For example: ceiling(3.14)
Result: 4
4) fn:floor(num) It returns the largest integer that is not greater than the number argument
For example: floor(3.14)
Result: 3
5) fn:round(num) It is used to round of the number argument to the nearest integer
For example: round(3.14)
Result: 3
6) fn:round-half-to-even() Example: round-half-to-even(0.5)
Result: 0
Example: round-half-to-even(1.5)
Result: 2
Example: round-half-to-even(2.5)
Result: 2

String Functions

There is a lot of string functions used in XQuery but here we are using the selected one.

A list of commonly used string manipulation functions of XQuery:

Index Name Description
1) string-length($string as xs:string) as xs:integer
It returns the length of the string.
2) concat($input as xs:anyatomictype?) as xs:string It returns the concatenated string as output.
3) string-join($sequence as xs:string*, $delimiter as xs:string) as xs:string It returns the combination of items in a sequence separated by a delimiter.

Boolean Value Functions

Index Name Description
1) fn:boolean(arg) It is used to return a Boolean value for a number, string, or node-set.
2) fn:not(arg) It specifies that the argument is first reduced to a Boolean value by applying the Boolean() function. It returns true if the Boolean value is false, and false if the Boolean value is true.
For example: not(true())
Result: false
3) fn:true() It returns the Boolean value true
Example: true()
Result: true
4) fn:false() It returns the Boolean value false
For example: false()
Result: false

Time and Date Function

There are a lot of time and date function supported in XQuery but here, we are providing the selected one.

A list of some commonly used date and time functions provided by XQuery:

Index Name Description
1) current-date() It is used to return the current date.
2) current-time() It is used to return the current time.
3) current-datetime() It is used to return both the current date and the current time.
Related Tutorial
Follow Us
https://www.facebook.com/Rookie-Nerd-638990322793530 https://twitter.com/RookieNerdTutor https://plus.google.com/b/117136517396468545840 #
Contents +