Article snapshot taken from[REDACTED] with creative commons attribution-sharealike license.
Give it a read and then ask your questions in the chat.
We can research this topic together.
EXSLT is a community initiative to provide extensions to XSLT, which are broken down into a number of modules, listed below.
The creators (Jeni Tennison, Uche Ogbuji, Jim Fuller, Dave Pawson, et al.) of EXSLT aim to encourage the implementers of XSLT processors to use these extensions, in order to increase the portability of stylesheets.
List of functions
Common EXSLT
Common covers common, basic extension elements and functions.
Function Name
Return Type
Parameter Types
exsl:node-set
node-set
object
exsl:object-type
string
object
Math EXSLT
Math covers extension elements and functions that provide facilities to do with mathematics.
Function Name
Return Type
Parameter Types
math:min
number
node-set
math:max
number
node-set
math:highest
nodeset
node-set
math:lowest
node-set
node-set
math:abs
number
number
math:acos
number
number
math:asin
number
number
math:atan
number
number
math:atan2
number
number, number
math:constant
number
string, number
math:cos
number
number
math:exp
number
number
math:log
number
number
math:power
number
number, number
math:random
number
(none)
math:sin
number
number
math:sqrt
number
number
math:tan
number
number
Sets EXSLT
Sets covers those extension elements and functions that provide facilities to do with set manipulation.
Function Name
Return Type
Parameter Types
set:difference
node-set
node-set, node-set
set:intersection
node-set
node-set, node-set
set:distinct
node-set
node-set
set:has-same-node
boolean
node-set, node-set
set:leading
node-set
node-set, node-set
set:trailing
node-set
node-set, node-set
Dates and Times EXSLT
Dates and Times covers date and time-related extension elements and functions.
Function Name
Return Type
Parameter Types
date:date-time
string
(none)
date:date
string
string?
date:time
string
string?
date:year
number
string?
date:leap-year
boolean
string?
date:month-in-year
number
string?
date:month-name
string
string?
date:month-abbreviation
string
string?
date:week-in-year
number
string?
date:day-in-year
number
string?
date:day-in-month
number
string?
date:day-of-week-in-month
number
string?
date:day-in-week
number
string?
date:day-name
string
string?
date:day-abbreviation
string
string?
date:hour-in-day
number
string?
date:minute-in-hour
number
string?
date:second-in-minute
number
string?
date:format-date
string
string, string
date:parse-date
string
string, string
date:week-in-month
number
string?
date:difference
string
string, string
date:add
string
string, string
date:add-duration
string
string, string
date:sum
string
node-set
date:seconds
number
string?
date:duration
string
number?
Strings EXSLT
Strings covers extension elements and functions that provide facilities to do with string manipulation.
Function Name
Return Type
Parameter Types
str:tokenize
node-set
string, string?
str:replace
node-set
string, object, object
str:padding
string
number, string?
str:align
string
string, string, string?
str:encode-uri
string
string, string, string?
str:decode-uri
string
string, string
str:concat
string
node-set
str:split
node-set
string, string?
Regular Expressions EXSLT
Regular Expressions covers extension elements and functions that provide facilities to do with regular expressions.
Function Name
Return Type
Parameter Types
regexp:test
boolean
string, string, string?
regexp:match
object
string, string, string?
regexp:replace
string
string, string, string, string
Dynamic EXSLT
Dynamic covers extension elements and functions that deal with the dynamic evaluation of strings containing XPath expressions.
Function Name
Return Type
Parameter Types
dyn:evaluate
object
string
dyn:min
number
node-set, string
dyn:max
number
node-set, string
dyn:sum
number
node-set, string
dyn:map
node-set
node-set, string
dyn:closure
node-set
node-set, string
Random EXSLT
Random covers extension elements and functions that provide facilities to do with randomness.