Saxon API for .NET |

# Saxon.Api Namespace

### Classes

Class | Description
--- | ---
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 | A `DomDestination` represents an XmlDocument that is constructed to hold the output of a query or transformation.
DynamicError | The DynamicError class contains information about a dynamic error detected during execution of a stylesheet, query, or XPath expression.
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.
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.
SequenceEnumerator | This class represents an enumeration of the values in an XPath sequence. It implements the IEnumerator interface, and the objects returned are always instances of `XPathItem`
Serializer | A `Serializer` takes a tree representation of XML and turns it into lexical XML markup.
StaticError | The StaticError class contains information about a static error detected during compilation of a stylesheet, query, or XPath expression.
TextWriterDestination | A `TextWriterDestination` is an implementation of `XmlDestination` that wraps an instance of `XmlTextWriter`.
XdmAtomicValue | The class `XdmAtomicValue` represents an item in an XPath 2.0 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 XPath 2.0 type `xdt:untypedAtomic`
XdmDestination | An `XdmDestination` represents an XdmNode that is constructed to hold the output of a query or transformation: that is, a tree using Saxon's implementation of the XDM data model
XdmEmptySequence | The class `XdmEmptySequence` represents an empty sequence in the XDM Data Model.
XdmItem | The class `XdmItem` represents an item in a sequence, as defined by the XDM data model. An item is either an atomic value or a node.
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.
XdmValue | An value in the XDM data model. A value is a sequence of zero or more items, each item being either an atomic value or a node.
XmlDestination | An abstract destination for the results of a query or transformation
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 | An 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`.
XsltCompiler | An `XsltCompiler` object allows XSLT 2.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`.
XsltTransformer | An `XsltTransformer` represents a compiled and loaded stylesheet ready for execution. The `XsltTransformer` holds details of the dynamic evaluation context for the stylesheet.

### Interfaces

Interface | Description
--- | ---
IQueryResolver | Interface defining a user-supplied class used to retrieve XQUery library modules listed in an `import module` declaration in the query prolog.
IResultDocumentHandler | An `IResultDocumentHandler` can be nominated to handle output produced by the `xsl:result-document` instruction in an XSLT stylesheet.
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.

### Enumerations

Enumeration | Description
--- | ---
SchemaValidationMode | Enumeration identifying the various Schema validation modes
WhitespacePolicy | Enumeration identifying the various Whitespace stripping policies
XdmAxis | Enumeration identifying the thirteen XPath axes