## Package com.saxonica.functions.extfn

The package `com.saxonica.extfn` contains implementations of extension functions in the Saxon namespace.

See:
Description

Class Summary
AnalyzeStringFunction: This class implements the extension function saxon:analyze-string().
CompileQuery: This class implements the saxon:compile-query() extension function
CompileStylesheet: This class implements the saxon:compile-stylesheet() extension function
DeepEqual: Implements the saxon:deep-equal() function, a variant of fn:deep-equal that provides additional control over how the comparison is performed.
DynamicErrorInfo: This class implements the extension function saxon:dynamic-error-info(), which underpins the variables accessible within saxon:catch such as $err:code etc.
Eval: This class implements the saxon:eval() extension function
Evaluate: This class implements the saxon:evaluate() extension function
Evaluate.EvaluateCall
Evaluate.PreparedExpression: Inner class PreparedExpression represents a compiled XPath expression together with the standard variables $p1 ..
EvaluateNode: This class implements the saxon:evaluate-node() extension function
ExpressionFn: This class implements the saxon:expression() extension function
Extensions: This class implements functions that are supplied as standard with SAXON, but which are not defined in the XSLT or XPath specifications.
ExtraFunctionLibrary: The ExtraFunctionLibrary represents additions to the set of Saxon vendor-supplied extension functions that are available only with the Saxon-PE and Saxon-EE editions
Find: This class implements the extension function saxon:find, which finds a value within an indexed sequence
ForEachGroupFunction: This class implements the extension function saxon:for-each-group().

GeneralFilterFunction

This class provides an abstract framework for a collection of extension functions that have the same general characteristics: (a) the first argument is a sequence, (b) the result is a subset/rearrangement of that sequence, (d) the second argument is a single argument function that is applied to the members of the sequence, (e) the default function if the second argument is omitted is fn:data(), (e) the processing may depend on the default collation.

GeneralFilterFunction.GeneralFilterFunctionCall
Highest: This class implements the saxon:highest() extension function
HighestOrLowest: This class implements the saxon:highest() and saxon:lowest() extension functions.
Index: This class supports the extension function saxon:index, which returns an indexed sequence
LastModified: Extension function to determined the last-modified date of a file
Leading: This class implements the saxon:leading() extension functions.
Lowest: This class implements the saxon:lowest() extension 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
Parse.ParseCall
ParseHtml: Supports the saxon:parse-html() function, a variant of saxon:parse() that differs only in that it uses the TagSoup HTML parser
QueryFn: This class implements the saxon:query() extension 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
Sort: This class implements the saxon:sort() extension functions.
TransformFn: This class implements the saxon:transform() extension function

## Package com.saxonica.functions.extfn Description

The package `com.saxonica.extfn` contains implementations of extension functions in the Saxon namespace.

It also contains the class `ExtraFunctionLibrary` which acts as a factory class for generating instances of these extension functions

Most of these classes are implemented using the new "integrated extension function" mechanism introduced in Saxon 9.2. A few still use the reflection mechanism, these are in class `com.saxonica.extfn.Extensions`.

Michael H. Kay
Saxonica Limited
12 June 2009

Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.