# Package com.saxonica.functions.extfn

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

See: Description

- Class Summary
  Class | Description
  --- | ---
  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.
  Deref | This class implements the extension function saxon:ref().
  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
  EXPathFile | Implementation of extension functions in the EXPath File package, see http://expath.org/spec/file
  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
  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
  KeyMap | Implementation of the saxon:key-map() extension function.
  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
  Mailer2 | Helper class for saxon:send-mail() 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
  Ref | This class implements the extension function saxon:ref().
  SchemaFn | This class implements the saxon:schema() extension function.
  SendMail | This class implements the extension function saxon:send-mail().
  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.
  SubsequenceTestFn | Abstract class providing functionality common to functions saxon:subsequence-before, saxon:subsequence-after etc; contains the concrete implementations of these functions as inner subclasses
  SubsequenceTestFn.SubsequenceAfterFn | Implement saxon:subsequence-after
  SubsequenceTestFn.SubsequenceBeforeFn | Implement saxon:subsequence-before
  SubsequenceTestFn.SubsequenceFromFn | Implement saxon:subsequence-from
  SubsequenceTestFn.SubsequenceUntilFn | Implement saxon:subsequence-until
  TransformFn | This class implements the saxon:transform() extension function
  ValidateFn | This class implements the saxon:validate() 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-2013 Saxonica Limited. All rights reserved.