EXSLT

Last updated

EXSLT is a community initiative to provide extensions to XSLT [1] [2] , which are broken down into a number of modules, listed below.

Contents

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 NameReturn TypeParameter Types
exsl:node-setnode-setobject
exsl:object-typestringobject

Math EXSLT

Math covers extension elements and functions that provide facilities to do with mathematics.

Function NameReturn TypeParameter Types
math:minnumbernode-set
math:maxnumbernode-set
math:highestnodesetnode-set
math:lowestnode-setnode-set
math:absnumbernumber
math:acosnumbernumber
math:asinnumbernumber
math:atannumbernumber
math:atan2numbernumber, number
math:constantnumberstring, number
math:cosnumbernumber
math:expnumbernumber
math:lognumbernumber
math:powernumbernumber, number
math:randomnumber(none)
math:sinnumbernumber
math:sqrtnumbernumber
math:tannumbernumber

Sets EXSLT

Sets covers those extension elements and functions that provide facilities to do with set manipulation.

Function NameReturn TypeParameter Types
set:differencenode-setnode-set, node-set
set:intersectionnode-setnode-set, node-set
set:distinctnode-setnode-set
set:has-same-nodebooleannode-set, node-set
set:leadingnode-setnode-set, node-set
set:trailingnode-setnode-set, node-set

Dates and Times EXSLT

Dates and Times covers date and time-related extension elements and functions.

Function NameReturn TypeParameter Types
date:date-timestring(none)
date:datestringstring?
date:timestringstring?
date:yearnumberstring?
date:leap-yearbooleanstring?
date:month-in-yearnumberstring?
date:month-namestringstring?
date:month-abbreviationstringstring?
date:week-in-yearnumberstring?
date:day-in-yearnumberstring?
date:day-in-monthnumberstring?
date:day-of-week-in-monthnumberstring?
date:day-in-weeknumberstring?
date:day-namestringstring?
date:day-abbreviationstringstring?
date:hour-in-daynumberstring?
date:minute-in-hournumberstring?
date:second-in-minutenumberstring?
date:format-datestringstring, string
date:parse-datestringstring, string
date:week-in-monthnumberstring?
date:differencestringstring, string
date:addstringstring, string
date:add-durationstringstring, string
date:sumstringnode-set
date:secondsnumberstring?
date:durationstringnumber?

Strings EXSLT

Strings covers extension elements and functions that provide facilities to do with string manipulation.

Function NameReturn TypeParameter Types
str:tokenizenode-setstring, string?
str:replacenode-setstring, object, object
str:paddingstringnumber, string?
str:alignstringstring, string, string?
str:encode-uristringstring, string, string?
str:decode-uristringstring, string
str:concatstringnode-set
str:splitnode-setstring, string?

Regular Expressions EXSLT

Regular Expressions covers extension elements and functions that provide facilities to do with regular expressions.

Function NameReturn TypeParameter Types
regexp:testbooleanstring, string, string?
regexp:matchobjectstring, string, string?
regexp:replacestringstring, string, string, string

Dynamic EXSLT

Dynamic covers extension elements and functions that deal with the dynamic evaluation of strings containing XPath expressions.

Function NameReturn TypeParameter Types
dyn:evaluateobjectstring
dyn:minnumbernode-set, string
dyn:maxnumbernode-set, string
dyn:sumnumbernode-set, string
dyn:mapnode-setnode-set, string
dyn:closurenode-setnode-set, string

Random EXSLT

Random covers extension elements and functions that provide facilities to do with randomness.

Function NameReturn TypeParameter Types
random:random-sequencenumbernumber?, number?
  1. "EXSLT | MDN". developer.mozilla.org. 2023-07-10. Retrieved 2024-09-26.
  2. "EXSLT Dates and Times module". www.ibm.com. Retrieved 2024-09-26.

Related Research Articles

<span class="mw-page-title-main">Common Lisp</span> Programming language standard

Common Lisp (CL) is a dialect of the Lisp programming language, published in American National Standards Institute (ANSI) standard document ANSI INCITS 226-1994 (S2018). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived from the ANSI Common Lisp standard.

<span class="mw-page-title-main">JavaScript</span> High-level programming language

JavaScript, often abbreviated as JS, is a programming language and core technology of the Web, alongside HTML and CSS. 99% of websites use JavaScript on the client side for webpage behavior.

<span class="mw-page-title-main">PHP</span> Scripting language created in 1994

PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. PHP was originally an abbreviation of Personal Home Page, but it now stands for the recursive acronym PHP: Hypertext Preprocessor.

<span class="mw-page-title-main">XML</span> Markup language by the W3C for encoding of data

Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. The World Wide Web Consortium's XML 1.0 Specification of 1998 and several other related specifications—all of them free open standards—define XML.

XSLT is a language originally designed for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text or XSL Formatting Objects, which may subsequently be converted to other formats, such as PDF, PostScript and PNG. Support for JSON and plain-text transformation was added in later updates to the XSLT 1.0 specification.

<span class="mw-page-title-main">Library (computing)</span> Collection of resources used to develop a computer program

In computer science, a library is a collection of read-only resources that is leveraged during software development to implement a computer program.

In the C++ programming language, the C++ Standard Library is a collection of classes and functions, which are written in the core language and part of the C++ ISO Standard itself.

In computer programming, glob patterns specify sets of filenames with wildcard characters. For example, the Unix Bash shell command mv *.txttextfiles/ moves all files with names ending in .txt from the current directory to the directory textfiles. Here, * is a wildcard and *.txt is a glob pattern. The wildcard * stands for "any string of any length including empty, but excluding the path separator characters ".

XSL-FO is a markup language for XML document formatting that is most often used to generate PDF files. XSL-FO is part of XSL, a set of W3C technologies designed for the transformation and formatting of XML data. The other parts of XSL are XSLT and XPath. Version 1.1 of XSL-FO was published in 2006.

A bit array is an array data structure that compactly stores bits. It can be used to implement a simple set data structure. A bit array is effective at exploiting bit-level parallelism in hardware to perform operations quickly. A typical bit array stores kw bits, where w is the number of bits in the unit of storage, such as a byte or word, and k is some nonnegative integer. If w does not divide the number of bits to be stored, some space is wasted due to internal fragmentation.

C++ Technical Report 1 (TR1) is the common name for ISO/IEC TR 19768, C++ Library Extensions, which is a document that proposed additions to the C++ standard library for the C++03 language standard. The additions include regular expressions, smart pointers, hash tables, and random number generators. TR1 was not a standard itself, but rather a draft document. However, most of its proposals became part of the later official standard, C++11. Before C++11 was standardized, vendors used this document as a guide to create extensions. The report's goal was "to build more widespread existing practice for an expanded C++ standard library".

String functions are used in computer programming languages to manipulate a string or query information about a string.

<span class="mw-page-title-main">Python syntax and semantics</span> Set of rules defining correctly structured programs

The syntax of the Python programming language is the set of rules that defines how a Python program will be written and interpreted. The Python language has many similarities to Perl, C, and Java. However, there are some definite differences between the languages. It supports multiple programming paradigms, including structured, object-oriented programming, and functional programming, and boasts a dynamic type system and automatic memory management.

<span class="mw-page-title-main">Oxygen XML Editor</span>

The Oxygen XML Editor is a multi-platform XML editor, XSLT/XQuery debugger and profiler with Unicode support. It is a Java application so it can run in Windows, Mac OS X, and Linux. It also has a version that can run as an Eclipse plugin.

libxslt is the XSLT C library developed for the GNOME project. It provides an implementation of XSLT 1.0, plus most of the EXSLT set of processor-portable extensions functions and some of Saxon's evaluate and expressions extensions. libxslt is based on libxml2, which it uses for XML parsing, tree manipulation and XPath support. It is free software released under the MIT License and can be reused in commercial applications.

XPath is an expression language designed to support the query or transformation of XML documents. It was defined by the World Wide Web Consortium (W3C) in 1999, and can be used to compute values from the content of an XML document. Support for XPath exists in applications that support XML, such as web browsers, and many programming languages.

XQuery is a query and functional programming language that queries and transforms collections of structured and unstructured data, usually in the form of XML, text and with vendor-specific extensions for other data formats. The language is developed by the XML Query working group of the W3C. The work is closely coordinated with the development of XSLT by the XSL Working Group; the two groups share responsibility for XPath, which is a subset of XQuery.

The structure of the Perl programming language encompasses both the syntactical rules of the language and the general ways in which programs are organized. Perl's design philosophy is expressed in the commonly cited motto "there's more than one way to do it". As a multi-paradigm, dynamically typed language, Perl allows a great degree of flexibility in program design. Perl also encourages modularization; this has been attributed to the component-based design structure of its Unix roots, and is responsible for the size of the CPAN archive, a community-maintained repository of more than 100,000 modules.

Tcl is a high-level, general-purpose, interpreted, dynamic programming language. It was designed with the goal of being very simple but powerful. Tcl casts everything into the mold of a command, even programming constructs like variable assignment and procedure definition. Tcl supports multiple programming paradigms, including object-oriented, imperative, functional, and procedural styles.

<span class="mw-page-title-main">Standard Libraries (CLI)</span> Standard libraries of C#, the .NET Framework and Core, and related projects

The Standard Libraries are a set of libraries included in the Common Language Infrastructure (CLI) in order to encapsulate many common functions, such as file reading and writing, XML document manipulation, exception handling, application globalization, network communication, threading, and reflection, which makes the programmer's job easier. It is much larger in scope than standard libraries for most other languages, including C++, and is comparable in scope and coverage to the standard libraries of Java.