Saxon.Api

 

 

Saxon.Api - the Saxon Application Programming Interface for .NET

This namespace contains Saxon's application programming interfaces for using XSLT, XQuery, XPath and XSD on .NET.

The top-level object is the Processor; this allows creation of factory classes for using each of the different processing languages.

The classes are all found in each of the assemblies: saxon-ee-api-10.#.dll, saxon-pe-api-10.#.dll, and saxon-he-api-10.#.dll.

Further background information about this API is available at https://www.saxonica.com/html/documentation10/dotnet/dotnetapi.html

 

Interface Summary

Name Description
ExtensionFunction

This is an interface for simple external/extension functions. Users can implement this interface and register the implementation with the Processor; the function will then be available for calling from all queries, stylesheets, and XPath expressions compiled under this Processor.

ICollectionFinder

An instance of CollectionFinder can be registered with the Saxon configuration; it is called in response to calls on the fn:collection() and fn:uri-collection() functions. When these functions are called, the FindCollection(XPathContext, String) method is called to get a ResourceCollection object representing the collection of resources identified by the supplied collection URI.

IErrorReporter

The IErrorReporter is a generic functional interface for reporting errors and warnings.

IInvalidityHandler

Interface for reporting validation errors found during validation of an instance document against a schema.

IMessageListener

An IMessageListener can be nominated to handle output produced by the xsl:message instruction in an XSLT stylesheet.

IMessageListener2

An IMessageListener can be nominated to handle output produced by the xsl:message instruction in an XSLT stylesheet.

IPredicate

Interface that represents a predicate (boolean-valued Func) of one argument.

IQueryResolver

Interface defining a user-supplied class used to retrieve XQuery library modules listed in an import module declaration in the query prolog.

IResource
This interface defines a Resource. The Resource objects belong to a collection. It is used to support the fn:collection() and fn:uri-collection() functions.

It is recommended (but is not universally the case) that fetching (and where necessary parsing) the content of a Resource should be delayed until the getItem method is called. This means that errors in fetching the resource or parsing its contents may go undetected until the resource is materialized in this way.

IResourceCollection

This interface defines a ResourceCollection. This class is used to map the URI of collection into a sequence of Resource objects. It is used to support the fn:collection() and fn:uri-collection() functions.

IResourceFactory

A ResourceFactory is used for constructing a particular type of resource

IResultDocumentHandler

An IResultDocumentHandler can be nominated to handle output produced by the xsl:result-document instruction in an XSLT stylesheet.

IXmlLocation

An IXmlLocation represents the location of a node within an XML document. It is in two parts: the base URI (or system ID) of the external entity (which will usually be the XML document entity itself), and the line number of a node relative to the base URI of the containing external entity.

SchemaResolver

The SchemaResolver is a user-supplied class used for resolving references to schema documents. It applies to references from one schema document to another appearing in xs:import, xs:include, and xs:redefine; to references from an instance document to a schema in xsi:schemaLocation and xsi:noNamespaceSchemaLocation, to xsl:import-schema in XSLT, and to the import schema declaration in XQuery.

XmlDestination

An abstract destination for the results of a query or transformation

 

Class Summary

Name Description
BinaryResource

BinaryResource

CatalogCollection

CatalogCollection

DirectoryCollection

This class represents a resource collection containing all, or selected, files within a filestore directory

DocumentBuilder

The DocumentBuilder class enables XDM documents to be built from various sources. The class is always instantiated using the NewDocumentBuilder method on the Processor object.

DomDestination

This class represents a Destination (for example, the destination of the output of a transformation) in which the results are written to a newly constructed DOM tree in memory.

DynamicContext

The class DynamicContext provides information about the dynamic context of an expression

DynamicError

The DynamicError class contains information about a dynamic error detected during execution of a stylesheet, query, or XPath expression.

EmptyEnumerator

An implementation of IEnumerator that iterates over an empty sequence.

ErrorReporter

The ErrorReporter is a generic functional class for reporting errors and warnings. This class wraps an IList of XmlProcessingError objects. It is designed to be used internally by Saxon.

ErrorReporterToStaticError

ErrorReporter for gathering errors as XmlProcessorError to then convert them to a list of StaticErrors.

ErrorReporterWrapper

ErrorReporter wrapper class for internal use in Saxon.

ExtensionFunctionCall

An instance of this class will be created by the compiler for each function call to this extension function that is found in the source code. The class is always instantiated by calling the method MakeFunctionCall() of the corresponding ExtensionFunctionDefinition. The implementation may therefore retain information about the static context of the call. Once compiled, however, the instance object must be immutable.

ExtensionFunctionDefinition

Abstract superclass for user-written extension functions. An extension function may be implemented as a subclass of this class, with appropriate implementations of the defined methods.

More precisely, a subclass of ExtensionFunctionDefinition identifies a family of extension functions with the same (namespace-qualified) name but potentially having different arity (number of arguments).

Feature

Feature defines a set of constants, representing the details of Saxon configuration options which can be supplied to the Saxon method Processor.SetProperty(), and to other interfaces.

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 net.sf.saxon.s9api.Processor

InvalidityHandlerWrapper

This class InvalidityHandlerWrapper extends the standard error handler for errors found during validation of an instance document against a schema, used if a user specifies the -report option on validate. Its effect is to output the validation errors found into the filename specified, in an XML format. This is a wrapper class to wrap a .NET InvalidityHandler class for interfacing within Java.

JarCollection

A JarCollection represents a collection of resources held in a JAR or ZIP archive, accessess typically using a URI using the "jar" URI scheme, or simply a "file" URI where the target file is a JAR or ZIP file.

NamespaceConstant

Holds a set of constants representing known namespaces.

NullDestination

A NullDestination is an XmlDestination that discards all its output.

Predicate

This class implements the IPredicate interface which represents a predicate (boolean-valued Func) of one argument.

Predicates

This non-instantiable class provides a number of useful implementations of the Predicate interface, designed for use when navigating streams of XDM items.

Processor

The Processor class serves three purposes: it allows global Saxon configuration options to be set; it acts as a factory for generating XQuery, XPath, and XSLT compilers; and it owns certain shared resources such as the Saxon NamePool and compiled schemas. This is the first object that a Saxon application should create. Once established, a Processor may be used in multiple threads.

QName

The QName class represents an instance of xs:QName, as defined in the XPath 2.0 data model. Internally, it has three components, a namespace URI, a local name, and a prefix. The prefix is intended to be used only when converting the value back to a string.

RawDestination

A RawDestination is an XmlDestination that accepts a sequence output by a stylesheet or query and returns it directly as an XdmValue, without constructing an XML tree, and without serialization. It corresponds to the serialization option build-tree="no".

Resource

Resource Wrapper class for a Java Resource object

ResourceCollection

ResourceCollection class that implements the IResourceCollection interface. This class is used to map the URI of collection into a sequence of Resource objects. It is used to support the fn:collection() and fn:uri-collection() functions.

SchemaManager

A SchemaManager is responsible for compiling schemas and maintaining a cache of compiled schemas that can be used for validating instance documents.

SchemaValidator

A SchemaValidator is an object that is used for validating instance documents against a schema. The schema consists of the collection of schema components that are available within the schema cache maintained by the SchemaManager, together with any additional schema components located during the course of validation by means of an xsl:schemaLocation or xsi:noNamespaceSchemaLocation attribute within the instance document.

Serializer

A Serializer takes a tree representation of XML and turns it into lexical XML markup.

StandardCollectionFinder

Default implementation of the CollectionFinder interface.

StandardLogger

The default Logger used by Saxon on the .NET platform. All messages are written by default to System.err. The logger can be configured by setting a different output destination, and by setting a minimum threshold for the severity of messages to be output.

StaticContext

The class StaticContext provides information about the static context of an expression

StaticError

The StaticError class contains information about a static error detected during compilation of a stylesheet, query, or XPath expression.

Step

A Step class wraps a delegate method that can be applied to an item to return a XdmValue of items.

Steps

This non-instantiable class provides a number of useful implementations of the Step class which wraps a Func object, used to navigate XDM trees, typically getting the Func property and used as an argument to XdmValue#Select and XdmValue#SelectMany.

TextWriterDestination

A TextWriterDestination is an implementation of XmlDestination that wraps an instance of XmlWriter.

URIQueryParameters

A set of query parameters on a URI passed to the collection() or document() function.

ValidationFailure

This exception indicates a failure when validating an instance against a type defined in a schema.

WhitespacePolicy

WhitespacePolicy is a class defining the possible policies for handling whitespace text nodes in a source document.

XdmAnyArrayType

Singleton class representing the item type array(*), which matches any array.

XdmAnyFunctionType

Singleton class representing the item type function(*), which matches any function item.

XdmAnyItemType

Singleton class representing the item type item(), which matches any item.

XdmAnyMapType

Singleton class representing the item type map(*), which matches any map.

XdmAnyNodeType

Singleton class representing the item type node(), which matches any node.

XdmArray

The class XdmArray represents an array item in an XDM 3.1 sequence: this is a new kind of item in the XDM data model. An array is a list of zero or more members, each of which is an arbitrary XDM value. An array is also a function: it maps a positive integer to the array member found at that position in the array.

XdmAtomicType

An instance of class XdmAtomicType represents a specific atomic type, for example xs:double, xs:integer, or xs:anyAtomicType. This may be either a built-in atomic type or a type defined in a user-written schema.

XdmAtomicValue

The class XdmAtomicValue represents an item in an XDM sequence that is an atomic value. The value may belong to any of the 19 primitive types defined in XML Schema, or to a type derived from these primitive types, or to the XDM-specific type xs:untypedAtomic.

XdmDestination

An XdmDestination is an XmlDestination in which an XdmNode is constructed to hold the output of a query or transformation: that is, a tree using Saxon's implementation of the XDM data model.

XdmDestination.TreeProtector

TreeProtector is a filter that ensures that the events reaching the Builder constitute a single tree rooted at an element or document node (because anything else will crash the builder)

XdmEmptySequence

The class XdmEmptySequence represents an empty sequence in the XDM Data Model.

XdmExternalObjectValue

The class XdmExternalObjectValue represents an XDM item that wraps an external .NET object. As such, it is outside the scope of the W3C XDM specification (but permitted as an extension).

XdmFunctionItem

The class XdmFunctionItem represents an item in an XDM sequence that holds a function.

XdmItem

The class XdmItem represents an item in a sequence, as defined by the XDM data model. An item may be an atomic value, a node, a function (including maps and arrays), or an external object.

XdmItemType

Abstract class representing an item type. This may be the generic item type item(), an atomic type, the generic node type node(), a specific node kind such as element() or text(), or the generic function type function().

XdmMap

The class XdmMap represents a map item in an XPath 3.1 sequence: this is a new kind of item in the XDM data model. A map is a list of zero or more entries, each of which is a pair comprising a key (which is an atomic value) and a value (which is an arbitrary value).

XdmNode

The class XdmNode represents a Node in the XDM Data Model. A Node is an XdmItem, and is therefore an XdmValue in its own right, and may also participate as one item within a sequence value.

XdmNodeKind

Instances of XdmNodeKind represent the item types denoted in XPath as document-node(), element(), attribute(), text(), and so on. These are all represented by singular named instances.

XdmSequenceType

An instance of class XdmSequenceType represents a sequence type, that is, the combination of an item type and an occurrence indicator.

XdmValue

A value in the XDM data model. A value is a sequence of zero or more items, each item being an atomic value, a node, or a function item.

XmlProcessingError

The XmlProcessorError class contains information about an error detected during compilation or execution of a stylesheet, query, XPath expression, or schema.

XmlResource

The class is an implementation of the generic Resource object (typically an item in a collection) representing an XML document

XPathCompiler

An XPathCompiler object allows XPath queries to be compiled. The compiler holds information that represents the static context for the expression.

XPathExecutable

An XPathExecutable represents the compiled form of an XPath expression. To evaluate the expression, it must first be loaded to form an XPathSelector.

XPathSelector

An XPathSelector represents a compiled and loaded XPath expression ready for execution. The XPathSelector holds details of the dynamic evaluation context for the XPath expression.

XQueryCompiler

The XQueryCompiler object allows XQuery queries to be compiled.

XQueryEvaluator

An XQueryEvaluator represents a compiled and loaded query ready for execution. The XQueryEvaluator holds details of the dynamic evaluation context for the query.

XQueryExecutable

An XQueryExecutable represents the compiled form of a query. To execute the query, it must first be loaded to form an XQueryEvaluator.

Xslt30Transformer

An Xslt30Transformer represents a compiled and loaded stylesheet ready for execution. The Xslt30Transformer holds details of the dynamic evaluation context for the stylesheet.

XsltCompiler

An XsltCompiler object allows XSLT 3.0 stylesheets to be compiled. The compiler holds information that represents the static context for the compilation.

XsltExecutable

An XsltExecutable represents the compiled form of a stylesheet. To execute the stylesheet, it must first be loaded to form an XsltTransformer or Xslt30Transformer.

XsltExecutable.ParameterDetails

Information about a global parameter to a stylesheet.

XsltPackage

An XsltPackage object represents the result of compiling an XSLT 3.0 package, as represented by an XML document containing an xsl:package element.

XsltTransformer

An XsltTransformer represents a compiled and loaded stylesheet ready for execution. The XsltTransformer holds details of the dynamic evaluation context for the stylesheet.

 

Enum Summary

Name Description
HostLanguage

Identifiies a host language in which XPath expressions appear. Generally used when different error codes need to be returned depending on the host language.

RecoveryPolicy

RecoveryPolicy is an enumeration of the different actions that can be taken when a "recoverable error" occurs.

SchemaValidationMode

Enumeration identifying the various Schema validation modes

TreeModel

Enumeration identifying the different tree model implementations

XdmAxis

Enumeration identifying the thirteen XPath axes

 

Exception Summary

Name Description
DynamicError

The DynamicError class contains information about a dynamic error detected during execution of a stylesheet, query, or XPath expression.

StaticError

The StaticError class contains information about a static error detected during compilation of a stylesheet, query, or XPath expression.