EXSLT

Last updated

EXSLT is a community initiative to provide extensions to XSLT, 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?

Related Research Articles

C (programming language) general-purpose programming language

C is a general-purpose, procedural computer programming language supporting structured programming, lexical variable scope, and recursion, with a static type system. By design, C provides constructs that map efficiently to typical machine instructions. It has found lasting use in applications previously coded in assembly language. Such applications include operating systems and various application software for computer architectures that range from supercomputers to PLCs and embedded systems.

String (computer science) Sequence of characters, data type

In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable. The latter may allow its elements to be mutated and the length changed, or it may be fixed. A string is generally considered as a data type and is often implemented as an array data structure of bytes that stores a sequence of elements, typically characters, using some character encoding. String may also denote more general arrays or other sequence data types and structures.

In computability theory, a system of data-manipulation rules is said to be Turing-complete or computationally universal if it can be used to simulate any Turing machine. This means that this system is able to recognize or decide other data-manipulation rule sets. Turing completeness is used as a way to express the power of such a data-manipulation rule set. Virtually all programming languages today are Turing-complete. The concept is named after English mathematician and computer scientist Alan Turing.

Extensible Markup Language (XML) is a markup language that 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 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. XSLT 1.0 is widely supported in modern web browsers.

In computer science, pattern matching is the act of checking a given sequence of tokens for the presence of the constituents of some pattern. In contrast to pattern recognition, the match usually has to be exact: "either it will or will not be a match." The patterns generally have the form of either sequences or tree structures. Uses of pattern matching include outputting the locations of a pattern within a token sequence, to output some component of the matched pattern, and to substitute the matching pattern with some other token sequence.

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 *.txt textfiles/ moves all files with names ending in .txt from the current directory to the directory textfiles. Here, * is a wildcard standing for "any string of characters" and *.txt is a glob pattern. The other common wildcard is the question mark (?), which stands for one character.

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.

CMS-2

CMS-2 is an embedded systems programming language used by the United States Navy. It was an early attempt to develop a standardized high-level computer programming language intended to improve code portability and reusability. CMS-2 was developed primarily for the US Navy’s tactical data systems (NTDS).

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

In computing, the two primary stylesheet languages are Cascading Style Sheets (CSS) and the Extensible Stylesheet Language (XSL). While they are both called stylesheet languages, they have very different purposes and ways of going about their tasks.

In computer programming, homoiconicity is a property of some programming languages. A language is homoiconic if a program written in it can be manipulated as data using the language, and thus the program's internal representation can be inferred just by reading the program itself. For example, a Lisp program is written as a regular Lisp list, and can be manipulated by other Lisp code. This property is often summarized by saying that the language treats "code as data".

Oxygen XML Editor

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 a query language for selecting nodes from an XML document. In addition, XPath may be used to compute values from the content of an XML document. XPath was defined by the World Wide Web Consortium (W3C).

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 and functional programming or procedural styles.

The Standard Libraries is a set of libraries included into 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.