EXSLT


EXSLT is a community initiative to provide extensions to XSLT, which are broken down into a number of modules, listed below.
The creators of EXSLT aim to encourage the implementers of XSLT processors to use these extensions, in order to increase the portability of stylesheets.
Downloadable packages that implement the extension functions and templates are provided at the official web site for XSLT processors which don't support a particular extension.

List of functions

Common EXSLT

Common covers common, basic extension elements and functions.
Function NameReturn TypeParameter Types
exsl:node-setnode-setobject
exsl:object-typestringobject

Math EXSLT

Math covers extension elements and functions that provide facilities to do with mathematics.
Function NameReturn TypeParameter Types
math:minnumbernode-set
math:maxnumbernode-set
math:highestnodesetnode-set
math:lowestnode-setnode-set
math:absnumbernumber
math:acosnumbernumber
math:asinnumbernumber
math:atannumbernumber
math:atan2numbernumber, number
math:constantnumberstring, number
math:cosnumbernumber
math:expnumbernumber
math:lognumbernumber
math:powernumbernumber, number
math:randomnumber
math:sinnumbernumber
math:sqrtnumbernumber
math:tannumbernumber

Sets EXSLT

Sets covers those extension elements and functions that provide facilities to do with set manipulation.
Function NameReturn TypeParameter Types
set:differencenode-setnode-set, node-set
set:intersectionnode-setnode-set, node-set
set:distinctnode-setnode-set
set:has-same-nodebooleannode-set, node-set
set:leadingnode-setnode-set, node-set
set:trailingnode-setnode-set, node-set

Dates and Times EXSLT

Dates and Times covers date and time-related extension elements and functions.
Function NameReturn TypeParameter Types
date:date-timestring
date:datestringstring?
date:timestringstring?
date:yearnumberstring?
date:leap-yearbooleanstring?
date:month-in-yearnumberstring?
date:month-namestringstring?
date:month-abbreviationstringstring?
date:week-in-yearnumberstring?
date:day-in-yearnumberstring?
date:day-in-monthnumberstring?
date:day-of-week-in-monthnumberstring?
date:day-in-weeknumberstring?
date:day-namestringstring?
date:day-abbreviationstringstring?
date:hour-in-daynumberstring?
date:minute-in-hournumberstring?
date:second-in-minutenumberstring?
date:format-datestringstring, string
date:parse-datestringstring, string
date:week-in-monthnumberstring?
date:differencestringstring, string
date:addstringstring, string
date:add-durationstringstring, string
date:sumstringnode-set
date:secondsnumberstring?
date:durationstringnumber?

Strings EXSLT

Strings covers extension elements and functions that provide facilities to do with string manipulation.
Function NameReturn TypeParameter Types
str:tokenizenode-setstring, string?
str:replacenode-setstring, object, object
str:paddingstringnumber, string?
str:alignstringstring, string, string?
str:encode-uristringstring, string, string?
str:decode-uristringstring, string
str:concatstringnode-set
str:splitnode-setstring, string?

Regular Expressions EXSLT

Regular Expressions covers extension elements and functions that provide facilities to do with regular expressions.
Function NameReturn TypeParameter Types
regexp:testbooleanstring, string, string?
regexp:matchobjectstring, string, string?
regexp:replacestringstring, string, string, string

Dynamic EXSLT

Dynamic covers extension elements and functions that deal with the dynamic evaluation of strings containing XPath expressions.
Function NameReturn TypeParameter Types
dyn:evaluateobjectstring
dyn:minnumbernode-set, string
dyn:maxnumbernode-set, string
dyn:sumnumbernode-set, string
dyn:mapnode-setnode-set, string
dyn:closurenode-setnode-set, string

Random EXSLT

Random covers extension elements and functions that provide facilities to do with randomness.
Function NameReturn TypeParameter Types
random:random-sequencenumbernumber?, number?