The XPath Core Functions are also referred to as the Inherited XPath Functions. These twenty seven (27) functions are defined in the W3C XML Path Language (XPath) Recommendation Version 1.0 which was released on 16 November 1999. All of these functions are very utilitarian in nature.
Note that there are an additional nine (9) XSLT functions which are defined in the
W3C XSL Transformations (XSLT) Recommendation Version 1.0
which was also released on 16 November 1999.
See the Function Index for access to the individual XSLT functions.
Note that these function names are used as is, without a prefix.
(Some companies offer proprietary XPath functions that usually require a prefixed name.)
Syntax: true | false = boolean(value)
The Boolean function converts the value argument to a Boolean and returns a true or false.
Syntax: number = ceiling(number)
The ceiling function returns the smallest integer that is equal to or is larger than the numeric value of the number argument.
Syntax: string = concat(value1, value2, ...)
The concat function takes all of the individual arguments, concatenates them together in order, and returns the resultant string.
Syntax: true | false = contains(value, substring)
The contains function determines if the substring argument is contained within the value argument and, if yes, returns a true. If no, a false is returned.
Syntax: number = count(node-set)
The count function counts and returns the number of nodes in a node-set.
Syntax: false = false()
The false function return the Boolean value of false. There are no arguments.
Syntax: number = floor(number)
The floor function returns the largest integer that is equal to or is smaller than the numeric value of the number argument.
Syntax: node-set = id(value)
The id function returns a node-set containing zero or more nodes that have an attribute that match the value argument.
Syntax: true | false = lang(language)
The lang function tests whether the language specified by the language argument matches the language of the context node (which is normally assigned by the xsl:lang element). If yes, true is returned. If no, or if no language is assigned to the context node, false is returned.
Syntax: number = last()
The last function returns the position number assigned to the last node in the current node list that is being processed by an xsl:for-each or xsl:apply-templates element. There are no arguments.
Syntax: string = local-name(node)
The local-name function returns the local part of a qname (or an empty string if there is no local name). A qname is composed of an optional prefix, a colon that must be present if there is a prefix, followed by the local name. The local name is dependent on node type. The node argument is optional. If omitted, the default is to use the context node.
Syntax: string = name(node)
The name function returns the qname of the node. A qname is composed of an optional prefix, a colon that must be present if there is a prefix, followed by the local name. The node argument is optional. If omitted, the default is to use the context node.
Syntax: uri = namespace-uri(node)
The namespace-uri function returns a string that is the namespace URI of the node cited in the optional node argument. If the argument is omitted, the default is to find the namespace URI of the context node.
Syntax: string = normalize-space(string)
The normalize-space function returns a string in which all of the preceding and trailing white space has been removed, and in which all internal sequences of white is replaced with one white space. The string argument is optional. If omitted, the default is to use the string value of the context node.
Syntax: true | false = not(condition)
The not function returns the Boolean negation of the condition argument (true becomes false and vice-versa).
Syntax: number = number(value)
The number function converts the value argument to a number. The value argument is optional. If omitted, the default is to use the string value of the context node.
Syntax: number = position()
The position function returns the position number in the current node list of the node that is currently being processed by an xsl:for-each or xsl:apply-templates element. There are no arguments.
Syntax: integer = round(number)
The round function rounds a number to its closest integer.
Syntax: true | false = starts-with(string, substring)
The starts-with function tests whether the string specified in the string argument starts with the substring specified in the substring argument. If yes, true is returned. If no, a false is returned.
Syntax: = string()
The string function converts the value argument to a string. The value argument is optional. If omitted, the default is to use the string value of the context node.
Syntax: number = string-length(string)
The string-length function returns the number of characters in a string. The string argument is optional. If omitted, the default is to use the string value of the context node.
Syntax: string = substring(string, start, length)
The substring function returns a portion out of the string specified in the string argument as determined by the starting point specified in the start argument and also by the optional length specified in the length argument.
Syntax: string = substring-after(string, substring)
The substring-after function returns a portion out of the string specified in the string argument that occurs after the substring specified in the substring argument.
Syntax: string = substring-before(string, substring)
The substring-before function returns a portion out of the string specified in the string argument that occurs before the substring specified in the substring argument.
Syntax: number = sum(node-set)
The sum function adds and returns the total value of a set of numeric values that are contained in a node-set.
Syntax: string = translate(value, string1, string2)
The translate function takes the string in the value argument, replaces all occurrences of a string specified in the string1 argument with substitute characters specified in string2 argument and returns the modified string.
Syntax: = true()
The true function returns the Boolean value of true. There are no arguments.