Package net.sf.saxon.functions
This package provides implementations of all the core functions available for use
in XPath expressions. This includes all the functions defined in the XPath 2.0
Functions and Operators specification, as well as the additional functions
defined for use in XSLT. The package also includes Saxon extension functions. Most
of these are in a single class Extensions
, but some of the more
complex functions are in their own classes, for example Evaluate
implements
saxon:evaluate()
.
There is one class for group of closely-related functions. These all inherit from the class
net.sf.saxon.expr.Function. The class StandardFunction
is used to map a function
name to its implementation; it contains tables of information describing the signature of each
function, so that the type-checking code is completely generic.
The package also contains machinery for defining user extension functions. A collection
of functions is represented by a FunctionLibrary
object. There are several
standard function libraries available, covering core functions, Saxon extension functions
constructor functions, and user extension functions: each category is covered by a subclass
of FunctionLibrary
, and there is also a FunctionLibraryList
that
represents the total collection of functions in these individual libraries. The
JavaExtensionLibrary
contains the logic for binding Java extension functions
given their name and arity and the types of their arguments. The class ExtensionFunctionCall
contains the run-time logic for converting XPath values to the required Java types, and for converting
the result back to an XPath value.
These classes, although public, will not normally be used directly by user-written Java applications.
Michael H. Kay
Saxonica Limited
9 February 2005
-
Interface Summary Interface Description ExtensionFunctionFactory This is a marker interface representing an abstract superclass of JavaExtensionFunctionFactory and DotNetExtensionFunctionFactory.FunctionLibrary A FunctionLibrary handles the binding of function calls in XPath (or XQuery) expressions. -
Class Summary Class Description Adjust This class implements the XPath 2.0 functions adjust-date-to-timezone(), adjust-time-timezone(), and adjust-dateTime-timezone().Aggregate This abstract class provides functionality common to the sum(), avg(), count(), exists(), and empty() functions.Available This class supports the XSLT element-available, function-available, and type-available functions.Average Implementation of the fn:avg functionBaseURI This class supports the base-uri() function in XPath 2.0BooleanFn This class supports the XPath functions boolean(), not(), true(), and false()CodepointEqual XPath 2.0 codepoint-equal() function.CodepointsToString This class supports the function codepoints-to-stringCollatingFunction Abstract superclass for all functions that take an optional collation argumentCollection Implement the fn:collection() function.Compare XSLT 2.0 compare() functionCompileTimeFunction Abtract class representing a function call that is always rewritten at compile-time: it can never be executedComponent This class supports the get_X_from_Y functions defined in XPath 2.0Concat Implementation of the fn:concat() functionConstructorFunctionLibrary The ConstructorFunctionLibrary represents the collection of constructor functions for atomic types.Contains Implements the fn:contains() functionCount Implementation of the fn:count functionCurrent Implement the XSLT current() functionCurrentDateTime 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 function current-group()CurrentGroupingKey Implements the XSLT function current-grouping-key()Data Implement XPath function fn:data()DateTimeConstructor This class supports the dateTime($date, $time) functionDeepEqual XSLT 2.0 deep-equal() function.DefaultCollation Implement the XPath 2.0 default-collation() functionDistinctValues The XPath 2.0 distinct-values() functionDistinctValues.DistinctIterator Iterator class to return the distinct values in a sequenceDoc Implement the fn:doc() function - a simplified form of the Document functionDocAvailable Implement the fn:doc-available() functionDocAvailable.ErrorDiscarder DocumentFn Implements the XSLT document() functionDocumentUriFn This class supports the document-uri() functionElementAvailable This class supports the XSLT element-available and function-available functions.Empty Implementation of the fn:exists functionEndsWith Implements the fn:ends-with() functionError Implement XPath function fn:error()EscapeURI This class supports the functions encode-for-uri() and iri-to-uri()ExecutableFunctionLibrary An ExecutableFunctionLibrary is a function library that contains definitions of functions for use at run-time.Exists Implementation of the fn:exists functionForceCase This class implements the upper-case() and lower-case() functionsFormatDate Implement the format-date(), format-time(), and format-dateTime() functions in XSLT 2.0 and XQuery 1.1.FormatNumber XSLT 2.0 implementation of format-number() function - removes the dependence on the JDK.FunctionArity This class implements the function function-arity(), which is a standard function in XQuery 1.1FunctionAvailable This class supports the XSLT element-available and function-available functions.FunctionLibraryList A FunctionLibraryList is a list of FunctionLibraries.FunctionName This class implements the function function-name(), which is a standard function in XQuery 1.1GenerateId This class supports the generate-id() functionId The XPath id() or element-with-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() functionIndexOf.IndexIterator Iterator to return the index positions of selected items in a sequenceInScopePrefixes This class supports fuctions get-in-scope-prefixes()Insert The XPath 2.0 insert-before() functionInsert.InsertIterator Insertion iterator.IntegratedFunctionCall Expression representing a call to a user-written extension function implemented as a subtype ofExtensionFunctionCall
IntegratedFunctionLibrary A library of integrated function calls, that is, user-written extension functions implemented as instances of the class IntegratedFunction.IsWholeNumber This class implements the saxon:is-whole-number() extension function, which is specially-recognized by the system because calls are generated by the optimizer.ItemAt Implements the saxon:item-at() function.KeyFn KeyFn.SubtreeFilter Mapping class to filter nodes that have the origin node as an ancestor-or-selfLang Last Implement the XPath 2.0 function last()LocalNameFn This class supports the local-name() functionMatches This class implements the matches() function for regular expression matchingMinimax This class implements the min() and max() functionsNameFn This class supports the name() functionNamespaceForPrefix This class supports the function namespace-uri-for-prefix()NamespaceUriFn This class supports the namespace-uri() functionNilled This class supports the nilled() functionNodeNameFn This class supports the name(), local-name(), and namespace-uri() functions from XPath 1.0, and also the XSLT generate-id() functionNormalizeSpace Implement the XPath normalize-space() functionNormalizeUnicode Implement the XPath normalize-unicode() functionNotFn This class supports the XPath functions boolean(), not(), true(), and false()NumberFn Implements the XPath number() function.Position Put Implements the fn:put() function in XQuery Update 1.0.QNameFn This class supports the fn:QName() function (previously named fn:expanded-QName())RegexGroup Remove The XPath 2.0 remove() functionRemove.RemoveIterator An implementation of SequenceIterator that returns all items except the one at a specified position.Replace This class implements the replace() function for replacing substrings that match a regular expressionResolveQName This class supports the resolve-QName function in XPath 2.0ResolveURI This class supports the resolve-uri() functions in XPath 2.0Reverse Implement XPath function fn:reverse()Root Implement the XPath 2.0 root() functionRounding This class supports the ceiling(), floor(), round(), and round-to-half-even() functions, and also the abs() functionStandardFunction This class contains static data tables defining the properties of standard functions.StandardFunction.Entry An entry in the table describing the properties of a functionStartsWith Implements the fn:starts-with() functionStaticBaseURI This class supports the static-base-uri() function in XPath 2.0.StringFn Implement XPath function string()StringJoin xf:string-join(string* $sequence, string $separator)StringLength Implement the XPath string-length() functionStringToCodepoints This class supports the function string-to-codepoints()Subsequence Implements the XPath 2.0 subsequence() functionSubstring This class implements the XPath substring() functionSubstringAfter Implements the fn:substring-after() functionSubstringBefore Implements the fn:substring-before() functionSum Implementation of the fn:sum functionSystemFunction Abstract superclass for system-defined and user-defined functionsSystemFunctionLibrary The SystemFunctionLibrary represents the collection of functions in the fn: namespace.SystemProperty Implementation of the XSLT system-property() functionTokenize This class implements the tokenize() function for regular expression matching.Trace This class supports the XPath 2.0 function trace().Translate Implement the XPath translate() functionTreatFn This class supports the XPath 2.0 functions exactly-one(), one-or-more(), zero-or-one().TypeAvailable This class supports the XSLT element-available and function-available functions.Unordered XPath 2.0 unordered() functionUnparsedEntity Implements the unparsed-entity-uri() function defined in XSLT 1.0 and the unparsed-entity-public-id() function defined in XSLT 2.0UnparsedText UnparsedTextAvailable UnparsedTextLines UriCollection Implement the fn:uri-collection() function (new in XQuery 3.0/XSLT 3.0).URIQueryParameters A set of query parameters on a URI passed to the collection() or document() functionURIQueryParameters.RegexFilter VendorFunctionLibrary The VendorFunctionLibrary represents specially-recognized functions in the Saxon namespace.