EXSLT is a community initiative to provide extensions to XSLT,[1][2] 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.
Function Name
|
Return Type
|
Parameter Types
|
random:random-sequence
|
number
|
number?, number?
|
References
External links