EXSLT

{{Multiple issues|{{notability|date=August 2012}}{{how-to|date=November 2020}}

}}

EXSLT is a community initiative to provide extensions to XSLT,{{Cite web |date=2023-07-10 |title=EXSLT {{!}} MDN |url=https://developer.mozilla.org/en-US/docs/Web/EXSLT |access-date=2024-09-26 |website=developer.mozilla.org |language=en-US}}{{Cite web |title=EXSLT Dates and Times module |url=https://www.ibm.com/docs/en/datapower-gateway/10.6.0?topic=extensions-exslt-dates-times-module |access-date=2024-09-26 |website=www.ibm.com |language=en-us}} 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.

class="wikitable"
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.

class="wikitable"
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.

class="wikitable"
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.

class="wikitable"
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.

class="wikitable"
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.

class="wikitable"
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.

class="wikitable"
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.

class="wikitable"
Function Name

! Return Type

! Parameter Types

random:random-sequence

| number

| number?, number?

References

{{Reflist}}