## Package net.sf.saxon.functions

This package provides implementations of all the core functions available for use in XPath expressions.

See:
Description

Interface Summary
FunctionLibrary: A FunctionLibrary handles the binding of function calls in XPath (or XQuery) expressions.
XSLTFunction: This is a marker interface used to identify functions that are defined in XSLT rather than in XPath

Class Summary
Adjust: This class implements the XPath 2.0 functions adjust-date-to-timezone(), adjust-time-timezone(), and adjust-dateTime-timezone().
Aggregate: This class implements the sum(), avg(), count() functions,
Available: This class supports the XSLT element-available and function-available functions.
BaseURI: This class supports the base-uri() functions in XPath 2.0
BooleanFn: This class supports the XPath functions boolean(), not(), true(), and false()
CollatingFunction: Abstract superclass for all functions that take an optional collation argument
Collection: Implement the fn:collection() function.
Compare: XSLT 2.0 compare() function
CompileTimeFunction: Abtract class representing a function call that is always rewritten at compile-time: it can never be executed
Component: This class supports the get_X_from_Y functions defined in XPath 2.0
Concat
ConstructorFunctionLibrary: The ConstructorFunctionLibrary represents the collection of constructor functions for atomic types.
Contains: This class implements the contains(), starts-with(), ends-with(), substring-before(), and substring-after() functions
Current: Implement the XSLT current() function
CurrentDateTime: This class implements the XPath 2.0 functions current-date(), current-time(), and current-dateTime(), as well as the function implicit-timezone().
CurrentGroup: Implements the XSLT functions current-group() and current-grouping-key()
Data: Implement XPath function fn:data()
DateTimeConstructor: This class supports the dateTime($date, $time) function
DeepEqual: XSLT 2.0 deep-equal() function.
DefaultCollation: Implement the XPath 2.0 default-collation() function
DistinctValues: The XPath 2.0 distinct-values() function
Doc: Implement the fn:doc() function - a simplified form of the Document function
Document: Implements the XSLT document() function
Error: Implement XPath function fn:error()
EscapeURI
Evaluate: This class implements the saxon:evaluate(), saxon:expression(), and saxon:eval() extension functions, which are specially-recognized by the system because they need access to parts of the static context
Evaluate.PreparedExpression: Inner class PreparedExpression represents a compiled XPath expression together with the standard variables $p1 ..
ExecutableFunctionLibrary: An ExecutableFunctionLibrary is a function library that contains definitions of functions for use at run-time.
Existence: Implement the exists() and empty() functions
ExtensionFunctionCall: This class acts as a container for an extension function defined to call a method in a user-defined class.
ExtensionFunctionFactory: This class acts as a factory for creating expressions that call extension functions.
Extensions: This class implements functions that are supplied as standard with SAXON, but which are not defined in the XSLT or XPath specifications.
ForceCase: This class implements the upper-case() and lower-case() functions
FormatDate: Implement the format-date() function in XPath 2.0
FormatNumber: This is the original XSLT 1.0 implementation of format-number using the JDK directly.
FormatNumber2: XSLT 2.0 implementation of format-number() function - removes the dependence on the JDK.
FunctionLibraryList: A FunctionLibraryList is a list of FunctionLibraries.
Id: The XPath id() function XPath 2.0 version: accepts any sequence as the first parameter; each item in the sequence is taken as an IDREFS value, that is, a space-separated list of ID values.
Idref
IndexOf: The XPath 2.0 index-of() function
InScopeNamespaces: This class supports fuctions get-in-scope-prefixes()
Insert: The XPath 2.0 insert-before() function
JavaExtensionLibrary: The JavaExtensionLibrary is a FunctionLibrary that binds XPath function calls to calls on Java methods (or constructors, or fields).
Key
Lang
Last: Implement the XPath 1.0 function last()
Matches: This class implements the matches() function for regular expression matching
Minimax: This class implements the min() and max() functions
NamePart: This class supports the name(), local-name(), and namespace-uri() functions from XPath 1.0, and also the XSLT generate-id() function
NamespaceForPrefix: This class supports fuction get-namespace-uri-for-prefix()
NormalizeSpace: Implement the XPath normalize-space() function
NumberFn: Implements the XPath number() function
Parse: This class implements the saxon:parse() extension function, which is specially-recognized by the system because it needs access to parts of the static context
Position
QNameFn: This class supports the fn:QName() function (previously named fn:expanded-QName())
RegexGroup
Remove: The XPath 2.0 remove() function
Replace: This class implements the replace() function for replacing substrings that match a regular expression
ResolveQName: This class supports the resolve-QName function in XPath 2.0
ResolveURI: This class supports the resolve-uri() functions in XPath 2.0
Reverse: Implement XPath function fn:reverse()
Root: Implement the XPath 2.0 root() function
Rounding: This class supports the ceiling(), floor(), round(), and round-to-half-even() functions, and also the abs() function
Serialize: This class implements the saxon:serialize() extension function, which is specially-recognized by the system because it needs access to parts of the static context
StandardFunction: This class contains static data tables defining the properties of standard functions.
StandardFunction.Entry: An entry in the table describing the properties of a function
StaticBaseURI: This class supports the static-base-uri() function in XPath 2.0 (added by the working groups on 24 August 2004)
StringFn: Implement XPath function string()
StringJoin: xf:string-join(string* $sequence, string $separator)
StringLength: Implement the XPath string-length() function
Subsequence: Implements the XPath 2.0 subsequence() function
Substring
SystemFunction: Abstract superclass for system-defined and user-defined functions
SystemFunctionLibrary: The SystemFunctionLibrary represents the collection of functions in the fn: namespace.
SystemProperty
Tokenize: This class implements the tokenize() function for regular expression matching.
Tokenize.TokenIterator: Inner class TokenIterator
Trace: This class supports the XPath 2.0 function trace().
Translate
TreatFn: This class supports the XPath 2.0 functions exactly-one(), one-or-more(), zero-or-one().
Unicode
Unordered: XPath 2.0 unordered() function
UnparsedEntity: Implements the unparsed-entity-uri() function defined in XSLT 1.0 and the unparsed-entity-public-id() function defined in XSLT 2.0
UnparsedText
VendorFunctionLibrary: The VendorFunctionLibrary represents specially-recognized functions in the Saxon namespace.

## Package net.sf.saxon.functions Description

This package provides implementations of all the core functions available for use in XPath expressions. This includes all the functions defined in XPath 1.0 and XSLT 1.0, and a selection of those defined in the working drafts for XPath 2.0.

There is one class for each core function, or for a group of closely-related functions. These all inherit from the class net.sf.saxon.expr.Function.

There is also a class Extensions which implements SAXON-defined extension functions. This contains one method for each extension function.

These classes, although public, will not normally be used directly by user-written Java applications.

Michael H. Kay
25 April 2002