!Math
math:acos(double);double?value to calculate arcus cosine for;acos(0)?1.5707963267948966?acos(1)?0
math:asin(double);double?value to calculate arcus sine for;asin(1)?1.5707963267948966?asin(0)?0
math:atan(double);double?value to calculate arcus tangent for;atan(0)?0?atan(10)?1.4711276743037347
math:atan2(double, double);double?x value?double?y value;atan2(1,1)?0.7853981633974483
math:cos(double);double?value to calculate cosine for;cos(0)?1?cos(3.14)?-1
math:exp(double);double?value to which power e should be raised;exp(1)?2.718281828459045?exp(10)?22026.465794806718
math:exp10(double);double?value to which power 10 should be raised;exp10(2)?100?exp10(20)?1.0E20
math:log(double);double?value for which to calculate a natural logarithm;log(1)?0?log(10)?2.302585092994046
math:log10(double);double?value for which to calculate a base-10 logarithm;log10(10)?1?log10(100)?2
math:pi();;pi()?3.141592653589793
math:pow(double, double);double?number to be raised?double?value of the power;pow(2,2)?4?pow(3,2)?9
math:sin(double);double?value to calculate sine for;sin(0)?0?sin(1)?0.8414709848078965
math:sqrt(double);double?value to calculate square root for;sqrt(9)?3?sqrt(1)?1.4142135623730951
math:tan(double);double?value to calculate tangent for;tan(0)?0?tan(1)?1.5574077246549023


!Loop / Conditional
fn:for-each(sequence*, function);sequence?sequence to run the function for?function?function to be perfomed on each element of sequence;for-each((1,2,3,4,5),function($a) { $a*$a })?1 4 9 16 25
fn:for-each-pair(sequence*, sequence*, function);sequence1?sequence to run the function for?sequenc2?sequence to run the function for?function?function to be perfomed on each element of sequence;for-each-pair((1,2,3,4,5), (1,2,3,4,5),function($a, $b) { $a+$b })?2 4 6 8 10
fn:fold-left(sequence*, baseValue, function);sequence?sequence to run the function for?item?a starting value for function?function?the function to be run for each consecutive element;fold-left((1,2,3), 0,function($a, $b) { ($a)-($b) })?-6
fn:fold-right();sequence?sequence to run the function for?item?a starting value for function?function?the function to be run for each consecutive element;fold-right((1,2,3), 0,function($a, $b) { ($a)-($b) })?2
fn:filter(sequence*, function);sequence?the sequence to be filtered?function?function to be used as filter;filter((1,2, 3, 4, 5),function($a) { ($a) > 3 })?4 5

fn:analyze-string(input, pattern);string?the string that is to be analized?string?regex?analyze-string("Word and whitespace", "\w+")?<analyze-string-result xmlns="http://www.w3.org/2005/xpath-functions"><br><match>Word</match><br><non-match> </non-match><br><match>and</match><non-match> </non-match><br><match>whitespace</match></analyze-string-result>
fn:available-environment-variables();;available-environment-variables()?PATH INVOCATION_ID XAUTHORITY LC_MEASUREMENT LC_TELEPHONE
fn:doc-available(uri);uri?the document to be checked
fn:element-with-id();;
fn:encode-for-uri(uri-part);string?string containing character to be escaped for uri
fn:environment-variable(name);string?the name of enviroment variable to return;environment-variable("GJS_DEBUG_OUTPUT")?stderr
fn:escape-html-uri(uri);https://www.w3.org/TR/xpath-functions-30/#func-escape-html-uri;Escapes a URI in the same way that HTML user agents handle attribute values expected to contain URIs

fn:format-date(value, pattern);date?value to be formated?pattern?pattern to format the date in (also refered to as picture);format-date(xs:date("2021-03-31+02:00"), "[D]-[M]-[Y]")?31-3-2021
fn:format-dateTime(value, pattern);dateTime?value to be formated?pattern?pattern to format the dateTime in (also refered to as picture);format-dateTime(xs:dateTime("2021-03-31T17:55:54.004666+02:00"), "[D]-[M]-[Y] [H]:[m01]")?31-3-2021 17:55
fn:format-integer(value, pattern);integer?value to be formated?pattern?pattern to format the integer in (also refered to as picture);
fn:format-number(value, pattern);number?value to be formated?pattern?pattern to format the number in (also refered to as picture);
fn:format-time(value, pattern);time?value to be formated?pattern?pattern to format the time in (also refered to as picture);format-time(xs:time("17:57:07.473366+02:00"), "[H]:[m01]")
fn:function-arity(function);function?function for which to check number of parameters
fn:function-lookup(name, arity);https://www.w3.org/TR/xpath-functions-30/#func-function-lookup;Returns the function having a given name and arity, if there is one.
fn:function-name();https://www.w3.org/TR/xpath-functions-30/#func-function-name;Returns the name of the function identified by a function item

fn:has-children(node);node?node to be checked if has any children;NONE
fn:head(sequence);sequence?sequence from which the first element is to be retrieved;head((1, 2, 3))?1
fn:innermost(node);NONE

fn:iri-to-uri(iri);https://www.w3.org/TR/xpath-functions-30/#func-iri-to-uri;Converts a string containing an IRI into a URI


fn:NOTATION-equal();;
fn:parse-xml(string);https://www.w3.org/TR/xpath-functions-30/#func-parse-xml;Converts xml from string to document node
fn:parse-xml-fragment(string);https://www.w3.org/TR/xpath-functions-30/#func-parse-xml-fragment;Converts xml fragment from string to document node
fn:path();https://www.w3.org/TR/xpath-functions-30/#func-path;Returns node path relative to its root
fn:prefix-from-QName(QName);https://www.w3.org/TR/xpath-functions-30/#func-prefix-from-QName;Returns the prefix component of the supplied QName
fn:QName-equal(QName1, QName2);https://www.w3.org/TR/xpath-functions-30/#func-QName-equal;Returns true if two supplied QNames are equal (namespace URI and local part)
fn:serialize(item);https://www.w3.org/TR/xpath-functions-30/#func-serialize;Returns serialized representation
fn:tail(sequence);https://www.w3.org/TR/xpath-functions-30/#func-tail;Returns all but the first item in a sequence
fn:tokenize(input, separator);https://www.w3.org/TR/xpath-functions-30/#func-tokenize;Splits string wherever a separator is found

fn:unparsed-text(uri);https://www.w3.org/TR/xpath-functions-30/#func-unparsed-text;Returns text representation of external resource
fn:unparsed-text-available(uri);https://www.w3.org/TR/xpath-functions-30/#func-unparsed-text-available;Checks if unparsed-text call would succeed
fn:unparsed-text-lines(uri);https://www.w3.org/TR/xpath-functions-30/#func-unparsed-text-lines;Returns strings, one for each line of file
fn:uri-collection();https://www.w3.org/TR/xpath-functions-30/#func-uri-collection;Returns a sequence of xs:anyURI values representing the URIs in a resource collection