!function;param?desc?param?desc...;expression?result?expression?result fn:last();current context node?Returns context size in expression context; fn:position();current context node?Returns possition of current context node in expression context; fn:count(node-set);node-set?Node-set to count nodes in;count(//b:book)?5?count(//person[@id>5])?17 fn:id(object);if nodeset?string value of each node in the node-set is treated as an id?if string?treated as a space-separated list of ids; fn:local-name(node-set);node-set?Extract first node and return its local name;local-name(//b:books)?b:book?local-name(//b:book)?b:title fn:local-name();current context node?Extract first node and return its local name; fn:namespace-uri(node-set);node-set?Extract first node and return the namespace URI;namespace-uri(//b:book)?http://www.book.com? fn:namespace-uri();current context node?Extract first node and return the namespace URI; fn:name(node-set);node-set?Extract first node and return QName;name(//b:books/*)?b:book?name(//b:book/*)?b:title fn:name();;current context node?Extract first node and return QName; fn:string(object);string?The object to convert to a string;string((1<0))?false?string(.11)?0.11 fn:string();current context node?Converts current context node to string fn:concat(string, string, string*);string?String to be merged?string?String to be merged?string*?any number of strings;concat("aa","bb")?aabb?concat("aa", 123)?aa123 fn:starts-with(string, string);string?String to be searched?string?String to be found;starts-with("aabb", "aa")?true?starts-with("aabb", "cc")?false fn:contains(string, string);string?String to be searched?string?String to be found;contains("abc", "c")?true?contains("abc", "1")?false fn:substring-before(string, string);string?String to be searched?string?String to be used to split;substring-before("aabbcc","bb")?aa?substring-before("aabbcc","c")?aabb fn:substring-after(string, string);string?String to be searched?string?String to be used to split;substring-after("aabbcc","bb")?cc?substring-after("aabbcc","a")?abbcc fn:substring(string, number, number);string?String to be cut?integer?Starting position?integer?Length of the substring;substring("aabbcc", 1, 2)?aa fn:substring(string, number);string?String to be cut?integer?Starting position?;substring("aabbcc", 3)?bbcc fn:string-length(string);string?String of which length should be returned;string-length("aabbcc")?6?string-length("aa bb cc")?8 fn:string-length();current context node?Converts current node to string and returns length; fn:normalize-space(string);string?String to be normalized;normalize-space("aa bb cc")?aa bb cc?normalize-space("aa bb cc")?aa bb cc fn:normalize-space();current context node?Converts current node to string and performs normalization; fn:translate(string, string, string);string?String to be edited?string?sequence of characters to be replaced?string?sequence of character to be used in replacement;translate("aabbcc", "ab","xz")?xxzzcc?translate("Test sequence", "e","z")?Tzst szquzncz fn:boolean(object);expression?The expression to be evaluated;boolean(1>2)?false?boolean("a"="a")?true fn:not(boolean);boolean?Boolean value to be inverted;not("a"="a")?false?not(true)?false fn:true();?Returns boolean value true;true()?true fn:false();?Returns boolean value false;false()?false fn:lang(string);string?Checks if the context node matches given language;(context: ): lang('en')?true?(context: ): lang('en')?true?(context: ): lang('en')?false fn:number(object);object?Converts given object to a number;number(true())?1?number(false())?0?number("55")?55?number(" 55 ")?55 fn:number();current context node?Converts current context node to a number;number(true())?1?number(false())?0?number("55")?55?number(" 55 ")?55 fn:sum(node-set);node-set?Summs each node from the set passed through number() function; fn:floor(number);number?Decimal number to be converted to integer;floor(3.1)?3?floor(3.99)?3 fn:ceiling(number);number?Decimal number to be converted to integer;ceiling(3.1)?4?ceiling(3.99)?4 fn:round(number);number?Decimal number to be converted to integer;round(3.1)?3?round(3.6)?4