# Package 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.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  CollationURIResolver | A CollationURIResolver accepts a collation name as input, and returns a collation (represented by a `StringCollator` as output.
  CollectionURIResolver | This interface defines a CollectionURIResolver.
  EnvironmentVariableResolver | This interface defines a Saxon plug-in used to resolve calls on the XPath 3.0 functions available-environment-variables() and environment-variable().
  ExternalObjectModel | This interface must be implemented by any third-party object model that can be wrapped with a wrapper that implements the Saxon Object Model (the NodeInfo interface).
  Initializer | This interface can be implemented by users (there are no implementations in Saxon itself).
  ModuleURIResolver | A ModuleURIResolver is used when resolving references to query modules.
  Numberer | Interface Numberer supports number formatting.
  OutputURIResolver | This interface defines an OutputURIResolver.
  RelativeURIResolver | The standard JAXP URIResolver is given a relative URI and a base URI and returns the resource identified by this combination.
  SchemaURIResolver | A SchemaURIResolver is used when resolving references to schema documents.
  SourceResolver | This interface defines a SourceResolver.
  StAXResultHandler | StAxResultHandler is a helper class
  StringCollator | This interface represents a "collation" as defined in XPath, that is, a set of rules for comparing strings
  SubstringMatcher | This interface is implemented by a collation that is capable of supporting the XPath functions that require matching of a substring: namely contains(), starts-with, ends-with, substring-before, and substring-after.
  TraceListener | This interface defines methods that are called by Saxon during the execution of a stylesheet, if tracing is switched on.
  UnparsedTextURIResolver | An UnparsedTextURIResolver accepts an absolute URI and optionally an encoding name as input, and returns a Reader as its result.
  URIChecker | This interface defines a method for checking whether a string is considered to be a valid URI.
  ValidationStatisticsRecipient | Defines a class that is notified of validation statistics at the end of a validation episode

- Class Summary
  Class | Description
  --- | ---
  AugmentedSource | This class is an extension of the JAXP Source interface.
  ConversionRules | This class defines a set of rules for converting between different atomic types.
  ExtensionFunctionCall | This abstract class is provided to allow user-written extension functions to be implemented with the full capabilities of functions that are an intrinsic part of the Saxon product.
  ExtensionFunctionDefinition | This abstract class is provided to allow user-written extension functions to be implemented with the full capabilities of functions that are an intrinsic part of the Saxon product.
  FeatureKeys | FeatureKeys defines a set of constants, representing the names of Saxon configuration options which can be supplied to the Saxon implementations of the JAXP interfaces TransformerFactory, SchemaFactory, Validator, and ValidationHandler, and to other interfaces such as the s9api `Processor`
  LocalizerFactory | Interface allowing localization modules for different languages to be dynamically loaded
  NamespaceConstant | This class is not instantiated, it exists to hold a set of constants representing known namespaces.
  ParseOptions | This class defines options for parsing and/or validating a source document.
  SaxonOutputKeys | Provides string constants that can be used to set output properties for a Transformer, or to retrieve output properties from a Transformer or Templates object.
  SerializerFactory | Helper class to construct a serialization pipeline for a given result destination and a given set of output properties.
  StandardCollationURIResolver | StandardCollationURIResolver allows a Collation to be created given a URI starting with "http://saxon.sf.net/collation" followed by a set of query parameters.
  StandardCollectionURIResolver | This class implements the default collection URI Resolver.
  StandardCollectionURIResolver.FileExpander | Mapping function to process the files in a directory.
  StandardEntityResolver | This class is an EntityResolver used to resolve references to common DTDs and entity files, using local copies provided with the Saxon product.
  StandardEnvironmentVariableResolver | Default implementation of the `EnvironmentVariableResolver`.
  StandardErrorHandler | A default implementation of the SAX ErrorHandler interface.
  StandardErrorListener | StandardErrorListener is the standard error handler for XSLT and XQuery processing errors, used if no other ErrorListener is nominated.
  StandardModuleURIResolver | This class is the standard ModuleURIResolver used to implement the "import module" declaration in a Query Prolog.
  StandardOutputResolver | This class defines the default OutputURIResolver.
  StandardUnparsedTextResolver | Default implementation of the UnparsedTextURIResolver, used if no other implementation is nominated to the Configuration.
  StandardURIChecker | This class checks whether a string is a valid URI.
  StandardURIResolver | This class provides the service of converting a URI into an InputSource.
  Validation | This class contains constants and static methods to manipulate the validation property of a type.

## Package net.sf.saxon.lib Description

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.

These interfaces were brought together into this package in Saxon 9.3, having previously been dispersed around the package hierarchy and mixed with classes and interfaces intended only for internal use.

Michael H. Kay
Saxonica Limited
20 July 2010

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