Utility Functions
This module contains some utility and helper functions.
Removed: Many functions have been removed in favor of new XQuery 4 standard functions.
All functions and errors in this module and errors are assigned to the http://basex.org/modules/util
namespace, which is statically bound to the util
prefix.
Signature | util:if(
$condition as item()*,
$then as item()*,
$else as item()* := ()
) as item()* |
---|
Summary | Alternative writing for the if/then/else expression:
- If the effective boolean value of
$condition is true, the $then branch will be evaluated. - Otherwise,
$else will be evaluated. If the third argument is omitted, an empty sequence will be returned.
|
---|
Examples | util:if(true(), 123, 456) Result: 123
util:if('', 'wrong!') Returns an empty sequence. |
---|
Signature | util:count-within(
$input as item()*,
$min as xs:integer,
$max as xs:integer := ()
) as xs:boolean |
---|
Summary | Checks if the specified $input has at least $min and, optionally, at most $max items. Equivalent to:
let $count := count($sequence)
return $count >= $min and $count <= $max
|
---|
Examples | util:count-within(('a', 'b', 'c'), 2) Result: true()
util:count-within((1 to 1000000000)[. < 10], 3, 6) Result: false() |
---|
Signature | util:range(
$sequence as item()*,
$first as xs:double,
$last as xs:double
) as item()* |
---|
Summary | Returns items from $sequence , starting at position $first and ending at $last . Roughly equivalent to:
subsequence($sequence, $first, $last - $first + 1)
|
---|
Examples | util:range(//item, 11, 20) Returns all path results from (if available) position 11 to 20. |
---|
Signature | util:root(
$nodes as node()*
) as document-node()* |
---|
Summary | Returns the document nodes of the specified $nodes . The path expression /abc is internally represented as util:root(.)/abc . Equivalent to:
util:ddo($nodes ! /)
|
---|
Signature | util:strip-namespaces(
$node as node(),
$prefixes as xs:string* := ()
) as node() |
---|
Summary | Removes namespaces with the specified $prefixes from the supplied $node . An empty string can be supplied to remove the default namespace. If no prefixes are specified, all namespaces will be removed. |
---|
Examples | util:strip-namespaces(
<xml xmlns='uri' xmlns:prefix='uri2' prefix:name='value'>
<prefix:child/>
</xml>
) Result: <xml name='value'><child/></xml>
<xml xmlns='uri1'><child xmlns='uri2'/></xml>
=> util:strip-namespaces('') Remove all default namespaces. |
---|
Code | Description |
---|
negative | The specified number is negative. |
Version 11.0- Removed:
util:array-members
, util:array-values
, util:chars
, util:duplicates
, util:init
, util:intersperse
, util:item
, util:last
, util:map-entries
, util:map-values
, util:replicate
in favor of new Standard Functions.
Version 9.7Version 9.5- Added:
util:intersperse
, util:within
, util:duplicates
, util:array-members
, util:array-values
, util:map-entries
, util:map-values
- Updated:
util:replicate
: Third argument added.
Version 9.4Version 9.3Version 9.2- Added:
util:chars
, util:init
- Updated:
util:item
, util:last
, util:range
renamed (before: util:item-at
, util:item-range
, util:last-from
)
Version 9.1Version 9.0Version 8.5
⚡Generated with XQuery