---
name: "libexslt"
section: "3"
platform: "macos"
package: "libxslt"
version: "21.13"
release: "macOS 26.5"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/libexslt"
---

# libexslt(3)

extension library for XSLT

## NAME

libexslt - extension library for XSLT

## SYNOPSIS

**#include \<libexslt/exslt.h\>**

**void exsltCommonRegister(void);**\
 **void exsltDateRegister(void);**\
 **void exsltDynRegister(void);**\
 **void exsltFuncRegister(void);**\
 **void exsltMathRegister(void);**\
 **void exsltSetsRegister(void);**\
 **void exsltStrRegister(void);**\
 **void exsltRegisterAll(void);**\
 **void exsltSaxonRegister(void);**

## DESCRIPTION

The  **libexslt** library is used to provide extensions to XSLT functions. These extensions come from the EXSLT project \<http://www.exslt.org/\>

## USAGE

To make use of these functions in XSLT the appropriate namespace must be defined on the **xsl:stylesheet** element.  To enable support for them in  [**libxslt**(3)](/libxslt/3.md) you must call the appropriate functions (listed in the **SYNOPSIS** section) to register the extensions.  The *xslt-config* shell script can be used to obtain the necessary flags for the pre-processor and linker. The supported extensions are:

### COMMON

- Namespace: http://exslt.org/common

  - See http://www.exslt.org/exsl/index.html for a description.

  - **node-set()**

  convert the given RTF into a node-set.

- **object-type()**

  returns the type of the given argument.

- **document**

  Create multiple output documents. See http://www.exslt.org/exsl/elements/document/index.html

### MATH

- Namespace: http://exslt.org/math

  - See http://www.exslt.org/math/index.html for a description.

  - **min()**

  returns the minimum value of the given node-set

- **max()**

  returns the maximum value of the given node-set

- **highest()**

  returns the nodes in the node-set whose value is the maximum value for the node-set.

- **lowest()**

  returns the nodes in the node-set whose value is the minimum value for the node-set.

- **constant()**

  returns a number value of the given constant with the given precision. The constants are PI, E, SQRRT2, LN2, LN10, LOG2E, and SQRT1\_2.

- **random()**

  returns a random number between 0 and 1 inclusive.

- **abs()**

  returns the absolute value of the argument.

- **sqrt()**

  returns the square root of the argument.

- **power()**

  returns the power base and power arguments.

- **log()**

  returns the natural log of the argument.

- **sin()**

  returns the sine of the argument.

- **cos()**

  returns the cosine of the argument.

- **tan()**

  returns the tangent of the argument.

- **asin()**

  returns the arc sine of the argument.

- **acos()**

  returns the arc cosine of the argument.

- **atan()**

  returns the arc tangent of the argument.

- **atan2()**

  returns the arc tangent function of the y/x arguments.

- **exp()**

  returns the exponential function of the argument.

### SETS

- Namespace: http://exslt.org/sets

  - See http://www.exslt.org/set/index.html for a description.

  - **difference()**

  returns the difference between the two given node-sets.

- **intersection()**

  returns a node-set of the nodes within both given node-sets.

- **distinct()**

  returns a node-set of all nodes in the first argument that are not in the seconds argument.

- **has-same-node()**

  returns TRUE if there is an intersection between the two given node-sets.

- **leading()**

  returns a node-set of all nodes in the first argument that precede the first node in the second argument.

- **trailing()**

  returns a node-set of all nodes in the first argument that follow the first node in the second argument.

### DATES and TIMES

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

  - See http://www.exslt.org/date/date.html for a description.

  - **date-time()**

  returns the current date and time as a date/time string.

- **date()**

  returns the date specified in the given date/time string.

- **time()**

  returns the time specified in the date/time string given as the argument.

- **year()**

  returns the year of a date as a number.

- **leap-year()**

  returns true if the year given in a date is a leap year.

- **month-in-year()**

  returns the month of a date as a number.

- **month-name()**

  returns the full name of the month of a date.

- **month-abbreviation()**

  returns the abbreviation of the month of a date.

- **week-in-year()**

  returns the week of the year as a number.

- **week-in-month()**

  returns the week in a month of a date as a number.

- **day-in-year()**

  returns the month of a date as a number.

- **day-in-month()**

  returns the day of a date as a number.

- **day-of-week-in-month()**

  returns the day-of-the-week in a month of a date as a number.

- **day-in-week()**

  returns the day of the week given in a date as a number.

- **day-name()**

  returns the full name of the day of the week of a date.

- **day-abbreviation()**

  returns the abbreviation of the day of the week of a date.

- **hour-in-day()**

  returns the hour of the day as a number.

- **minute-in-hour()**

  returns the minute of the hour as a number.

- **second-in-minute()**

  returns the second of the minute as a number.

- **seconds()**

  returns the number of seconds specified by the argument string.

- **add()**

  returns the date/time resulting from adding a duration to a date/time.

- **add-duration()**

  returns the duration resulting from adding two given durations together.

- **difference()**

  returns the duration between the first date and the second date.

- **duration()**

  returns a duration string that represents the given number of seconds since 1970-01-01T00:00:00.

### STRINGS

- Namespace: http://exslt.org/strings

  - See http://www.exslt.org/str/index.html for a description.

  - **tokenize()**

  returns a node set of token elements, each containing one token from the string.

- **padding()**

  returns a string padded to a certain length.

- **align()**

  returns a string aligned within another string.

- **concat()**

  returns the concatenation of the string values of the nodes in that node set.

### FUNCTIONS

- Namespace: http://exslt.org/functions

  - See http://www.exslt.org/func/index.html for a description.

  - **function**

  declares an extension function.

- **result**

  returns the result of an extension function declared in function().

## FILES

- */usr/bin/xslt-config*

  shell script giving pre-processor and linker flags.

- */usr/lib/libexslt.a*

  static library

- */usr/lib/libexslt.so*

  sharable library

## AUTHORS

Manual page by Heiko W. Rupp (hwr@pilhuhn.de)

## SEE ALSO

[**libxml**(3)](/libxml/3.md), [**libxslt**(3)](/libxslt/3.md), [**xmllint**(1)](/xmllint/1.md) [**xsltproc**(1)](/xsltproc/1.md),
