# Saxon 10.9 Java API Documentation

All Packages s9api Interface Other Interfaces External Interfaces Other Packages
Package | Description
--- | ---
com.saxonica | This package together with its subpackages contains the code of Saxon-PE and Saxon-EE, other than the code that is in common with the open-source version Saxon-HE.
com.saxonica.config | This package contains classes supporting configuration of Saxon-PE and Saxon-EE.
com.saxonica.config.pe | This package contains classes supporting configuration of Saxon-PE.
com.saxonica.ee.bytecode | This package and its subpackages contain code responsible for bytecode generation under Saxon-EE.
com.saxonica.ee.bytecode.converter | This package contains classes responsible for generating bytecode to effect data type conversions, for example boolean to double conversion.
com.saxonica.ee.bytecode.iter | This package contains abstract superclasses for generated bytecode classes providing custom iterators.
com.saxonica.ee.bytecode.map | This package contains abstract superclasses for generating bytecode classes that provide custom mapping functions.
com.saxonica.ee.bytecode.simtype | This package contains classes used for generation of bytecode to validate strings against user-defined simple types.
com.saxonica.ee.bytecode.util | This package contains utility classes supporting the generation of bytecode and the interface with the ASM library.
com.saxonica.ee.config | This package contains classes supporting configuration of Saxon-EE.
com.saxonica.ee.domino | This package is an implementation of a tree structure allowing efficient navigation of DOM trees.
com.saxonica.ee.extfn | This package contains implementations of extension functions that are available only in Saxon-EE.
com.saxonica.ee.extfn.js | This package contains implementations of extension functions and extension instructions that are available only in Saxon-JS.
com.saxonica.ee.jaxp | This package contains the Saxon implementation of the JAXP schema validation API.
com.saxonica.ee.optim | This package contains classes used to support optimized expressions and instructions that are specific to Saxon-EE, and that don't fit conveniently into a more specialized category (such as streaming).
com.saxonica.ee.s9api | This package contains classes used to support the Saxon-EE specific parts of the s9api API, in particular the parts concerned with schema validation.
com.saxonica.ee.schema | This package contains classes used to represent the information in a schema, that is, the schema components.
com.saxonica.ee.schema.fsa | The package `com.saxonica.ee.schema.fsa` contains classes used to implement the finite state machines used when validating document instances against a schema.
com.saxonica.ee.schema.sdoc | This package contains code used to import a schema.
com.saxonica.ee.stream | This package and its subpackages contain classes used to support streaming and document projection.
com.saxonica.ee.stream.adjunct | This package contains classes used to support streaming.
com.saxonica.ee.stream.feed | This package contains classes used to support streaming.
com.saxonica.ee.stream.om | The package `com.saxonica.ee.stream.om` contains internal code to support executing of streaming templates in XSLT.
com.saxonica.ee.stream.watch | This package contains defines the two interfaces Watch and WatchMaker, and various implementations of these interfaces.
com.saxonica.ee.trans | This package contains classes supporting optimized XSLT transformation in Saxon-EE.
com.saxonica.ee.update | This package contains classes used to support XQuery Update.
com.saxonica.ee.validate | The validation package contains classes used to validate document instances against a schema.
com.saxonica.ee.xtupdate | This package contains classes used to support the compile-time extension instructions enabling the functionality of XQuery Update to be used within XSLT.
com.saxonica.expr | This package contains classes used to support expressions and instructions that are new in XPath 3.0, XQuery 3.0, or XSLT 3.0, and that don't fit conveniently into a more specialized category (such as streaming).
com.saxonica.expr.sort | This package contains classes used to support the use of the ICU library for collating strings, in particular, for the implementation of the Unicode Collation Algorithm.
com.saxonica.functions.extfn | The package `com.saxonica.extfn` contains implementations of extension functions in the Saxon namespace.
com.saxonica.functions.extfn.EXPathArchive | This package contains implementations of extension functions in the EXPath archive module.
com.saxonica.functions.registry | This package contains classes used to manage the collections of system functions available in various processing environments.
com.saxonica.functions.sql | This package contains implementations of extension functions allowing access to SQL databases.
com.saxonica.serialize | This package contains additions to the serializer that are specific to Saxon-PE and Saxon-EE.
com.saxonica.trans | This package contains classes used for XSLT transformation in Saxon-PE and Saxon-EE.
com.saxonica.xqj | This package contains an implementation of the XQJ specification defined in JSR 225.
com.saxonica.xqj.pull | This package extends the pull API for Saxon that is provided in package `net.sf.saxon.pull` in Saxon-HE.
com.saxonica.xsltextn | This package contains classes used at compile time to support extensions to XSLT beyond 2.0: both facilities in the working draft of XSLT 3.0, and extensions specific to Saxon.
com.saxonica.xsltextn.instruct | This package contains implementations of XSLT extension instructions available in Saxon-PE and Saxon-EE.
com.saxonica.xsltextn.pedigree | This package contains classes associated with the implementation of the `saxon:deep-update` extension instruction.
com.saxonica.xsltextn.style | This package contains implementations of XSLT extension instructions available in Saxon-PE and Saxon-EE.
javax.xml.xquery |
net.sf.saxon | This package provides the core classes of the SAXON XSLT library.
net.sf.saxon.dom | This package provides glue classes that enable Saxon to process a source document supplied as a DOM tree in the form of a DOMSource object; it also provides classes that present a DOM view of Saxon's native tree structures.
net.sf.saxon.event | This package provides classes that feed SAX-like events from one tree to another.
net.sf.saxon.expr | This package provides classes associated with XPath expression handling.
net.sf.saxon.expr.accum | This package contains classes used to implement XSLT 3.0 accumulators, in particular, accumulators for non-streamed documents.
net.sf.saxon.expr.compat | This package contains classes concerned with evaluation of expressions in XPath 1.0 compatibility mode.
net.sf.saxon.expr.flwor | This package contains classes responsible for evaluation of FLWOR expressions.
net.sf.saxon.expr.instruct | This package provides classes for the compiled representation of the various elements and other instructions found in an XSLT stylesheet.
net.sf.saxon.expr.number | This package provides classes associated with numbering and the `xsl:number` instruction.
net.sf.saxon.expr.oper | This package contains a class used to handle expressions with an array of operands.
net.sf.saxon.expr.parser | This package contains classes associated with parsing and general static analysis of XPath expressions.
net.sf.saxon.expr.sort | This package provides utility routines for sorting and grouping.
net.sf.saxon.functions | This package provides implementations of all the core functions available for use in XPath expressions.
net.sf.saxon.functions.hof | The package `com.saxonica.hof` contains code to support higher-order functions.
net.sf.saxon.functions.registry | This package contains libraries of function signatures for the standard functions available in various Saxon-HE environments.
net.sf.saxon.gizmo | This package provides supporting code for the Gizmo utility, found at `net.sf.saxon.Gizmo`.
net.sf.saxon.java | This package contains Saxon code that is specific to the Java platform, as distinct from .NET
net.sf.saxon.jaxp | This package contains classes that provide Saxon's implementation of JAXP interfaces.
net.sf.saxon.lib | This package collects together interfaces intended for user applications to implement in order to customize Saxon's behavior, default implementations of these interfaces, and classes containing constants that are used in public Saxon interfaces.
net.sf.saxon.ma | This package contains classes associated with the implementation of maps, arrays, and JSON for XSLT 3.0 and XPath 3.1.
net.sf.saxon.ma.arrays | This package implements arrays, as introduced in XPath/XQuery 3.1: arrays provide a list-like data structure that (unlike sequences) allows nesting.
net.sf.saxon.ma.json | This package implements support for JSON: it includes classes that implement the XPath 3.1 functions for JSON, and underlying support code for parsing and serializating JSON.
net.sf.saxon.ma.map | This package implements maps, as introduced in XSLT 3.0 and XQuery 3.1: maps provide a dictionary-like data structure.
net.sf.saxon.ma.parray | This package contains an implementation of persistent immutable arrays.
net.sf.saxon.ma.trie | This package contains a general-purpose implementation of immutable hash trie maps, used to underpin the Saxon implementation of XSLT 3.0 maps.
net.sf.saxon.om | This package defines the interface to the Saxon tree structure.
net.sf.saxon.option.axiom | This package contains classes that interface Saxon to the Apache AXIOM tree model.
net.sf.saxon.option.dom4j | This package provides glue classes that enable Saxon to process a source document supplied as a DOM4J tree (see https://dom4j.github.io).
net.sf.saxon.option.exslt | This package provides implementations of the functions defined in EXSLT.
net.sf.saxon.option.jdom2 | This package contains classes that interface Saxon to the JDOM2 tree model.
net.sf.saxon.option.local | This package contains classes responsible for localizing the output of functions such as format-dateTime and format-integer into various languages.
net.sf.saxon.option.sql | This package provides some sample extension elements for loading data into an SQL database.
net.sf.saxon.option.xom | This package provides glue classes that enable Saxon to process a source document supplied as a XOM tree (see http://www.cafeconleche.org/XOM).
net.sf.saxon.pattern | This package provides classes associated with XSLT pattern handling.
net.sf.saxon.pull | This package provides classes that interface Saxon to an XML parser that supplies data in the form of a stream of events.
net.sf.saxon.query | This package provides a relatively low-level API for executing XQuery queries directly from a Java application.
net.sf.saxon.regex | This package contains the code to map XML Schema and XPath regular expressions to a regular expression engine of the underlying Java platform.
net.sf.saxon.regex.charclass | This package contains Java classes used to represent character classes in regular expressions.
net.sf.saxon.resource | This package contains Java classes used to represent abstractions of resources of different kinds that can be retrieved as part of a collection (using the `fn:collection()` function).
net.sf.saxon.s9api | This package provides Saxon's preferred Java API for XSLT, XQuery, XPath, and XML Schema processing.
net.sf.saxon.s9api.streams | This package (introduced in Saxon 9.9) provides methods to manipulate XDM values using Java 8 streams.
net.sf.saxon.sapling | This package defines a public API for constructing trees; it represents trees-under-construction using a lightweight immutable data structure called a sapling; once construction of a sapling tree is complete, it can be copied to form a fully-functional XDM tree in the form of an `XdmNode` or `NodeInfo` object.
net.sf.saxon.serialize | This package contains code for serializing trees using the standard W3C-defined serialization methods (xml, html, text, etc).
net.sf.saxon.serialize.charcode | This package provides classes for handling different character sets, especially when serializing the output of a query or transformation.
net.sf.saxon.serialize.codenorm | This package contains the code to implement Unicode normalization.
net.sf.saxon.stax | This package contains classes used to connect to StAX (pull-parser) events for input and output.
net.sf.saxon.style | This package provides classes used during the compilation of an XSLT stylesheet.
net.sf.saxon.sxpath | This package originally provided an alternative API for executing XPath expressions directly from a Java application.
net.sf.saxon.trace | This package provides an interface to Saxon tracing and debugging capabilities.
net.sf.saxon.trans | This package provides a miscellaneous collection of helper classes for XSLT transformation.
net.sf.saxon.trans.packages | This package contains classes used to support creation of XSLT 3.0 packages.
net.sf.saxon.trans.rules | This package provides classes to implement matching of patterns for selection of template rules within a mode.
net.sf.saxon.tree | This package contains subpackages containing the code for different tree models.
net.sf.saxon.tree.iter | This package defines implementations and subinterfaces of the interface SequenceIterator, which is used to iterate over an XDM sequence.
net.sf.saxon.tree.jiter | This package defines utility classes designed to work with Java iterators, that is, implementations of `java.util.Iterator` (not to be confused with Saxon's `SequenceIterator` class).
net.sf.saxon.tree.linked | This package defines the implementation of the so-called "linked tree" structure.
net.sf.saxon.tree.tiny | This package is an implementation of the Saxon internal tree structure, designed to minimize memory usage, and the costs of allocating and garbage-collecting Java objects.
net.sf.saxon.tree.util | This package defines a number of utility and helper classes for implementing tree models.
net.sf.saxon.tree.wrapper | This package defines a number of implementations of "virtual nodes" implemented as wrappers around other nodes.
net.sf.saxon.type | This package contains classes that implement the XPath 2.0 and 3.1 type system.
net.sf.saxon.value | This package provides classes representing XPath values (that is, the results of an expression).
net.sf.saxon.xpath | This package is Saxon's implementation of the JAXP API designed for executing XPath 1.0 expressions directly from a Java application.
net.sf.saxon.z | This package provides utility routines for handling integer sets and maps.