EXSLT

EXSLT is a community initiative to provide XSLT 1.0 extensions, which can be used to write more elegant and readable stylesheets. You can include several EXSLT extensions by setting the corresponding namespaces.

For example, to use the strings extension in your XSLT, you would write:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:str="http://exslt.org/strings" extension-element-prefixes="strings">
    ...
</xsl:stylesheet>

Supported EXSLT functions and elements

FIT provides a number of EXSLT functions and elements, which can be used within your XSLTs in the Flow or in Adaptive Components.

Namespace http://exslt.org/common

node-set exsl:node-set(object)
string exsl:object-type(object)
<exsl:document .../> element

Namespace http://exslt.org/dates-and-times

string date:difference(string, string)
string date:duration(number?)
number date:hour-in-day(string?)
boolean date:leap-year(string?)
number date:minute-in-hour(string?)
string date:month-abbreviation(string?)
string date:add(string, string)
string date:add-duration(string, string)
string date:date(string?)
string date:date-time()
string date:day-abbreviation(string?)
number date:day-in-month(string?)
number date:day-in-week(string?)
number date:day-in-year(string?)
string date:day-name(string?)
number date:day-of-week-in-month(string?)
number date:month-in-year(string?)
string date:month-name(string?)
number date:second-in-minute(string?)
number date:seconds(string?)
string date:sum(node-set)
string date:time(string?)
number date:week-in-month(string?)
number date:week-in-year(string?)
number date:year(string?)

Namespace http://exslt.org/dynamic

object dyn:evaluate(string)
node-set dyn:map(node-set, string)

Namespace http://exslt.org/functions

<func:function .../> element
<func:result .../> element

Namespace http://exslt.org/math

number math:abs(number)
number math:acos(number)
number math:asin(number)
number math:atan(number)
number math:atan2(number, number)
number math:constant(string, number)
number math:cos(number)
number math:exp(number)
node-set math:highest(node-set)
number math:log(number)
node-set math:lowest(node-set)
number math:max(node-set)
number math:min(node-set)
number math:power(number, number)
number math:random()
number math:sin(number)
number math:sqrt(number)
number math:tan(number)

Namespace http://exslt.org/regular-expressions

boolean regexp:test(string, string, string?)
object regexp:match(string, string, string?)
string regexp:replace(string, string, string, string)

Namespace http://exslt.org/sets

node-set set:difference(node-set, node-set)
node-set set:distinct(node-set)
boolean set:has-same-node(node-set, node-set)
node-set set:intersection(node-set, node-set)
node-set set:leading(node-set, node-set)
node-set set:trailing(node-set, node-set)

Namespace http://exslt.org/strings

string str:align(string, string, string?)
string str:concat(node-set)
string str:decode-uri(string, string)
string str:encode-uri(string, string, string?)
string str:padding(number, string?)
node-set str:replace(string, object, object)
node-set str:split(string, string?)
node-set str:tokenize(string, string?)