Class DocumentBuilder
Class DomDestination
Class DynamicContext
Class DynamicError
Class EmptyEnumerator
Class ExtensionFunctionCall
Class NullDestination
Class Processor
Class QName
Class SchemaManager
Class SchemaValidator
Class Serializer
Class StaticContext
Class StaticError
Class TextWriterDestination
Class XPathCompiler
Class XPathExecutable
Class XPathSelector
Class XQueryCompiler
Class XQueryEvaluator
Class XQueryExecutable
Class XdmAnyFunctionType
Class XdmAnyItemType
Class XdmAnyNodeType
Class XdmAtomicType
Class XdmAtomicValue
Class XdmDestination
Class XdmEmptySequence
Class XdmItem
Class XdmItemType
Class XdmNode
Class XdmNodeKind
Class XdmSequenceType
Class XdmValue
Class XmlDestination
Class XsltCompiler
Class XsltExecutable
Class XsltTransformer
Enum RecoveryPolicy
Enum SchemaValidationMode
Enum TreeModel
Enum WhitespacePolicy
Enum XdmAxis
Interface IMessageListener
Interface IQueryResolver
Interface IResultDocumentHandler
Interface IXdmEnumerator
Interface IXmlLocation
Interface SchemaResolver
public class 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.
Constructor Summary | |
---|---|
Processor() Create a new Processor. This Processor will have capabilities that depend on the version of the software that has been loaded, and on the features that have been licensed. |
|
Processor(bool licensedEdition) Create a Processor. |
|
Processor(bool licensedEdition, bool loadLocally) Create a Processor. |
|
Processor(System.IO.Stream configurationFile) Create a Processor, based on configuration information supplied in a configuration file. |
Property Summary | |
---|---|
string |
ProductTitle Get the full name of the Saxon product version implemented by this Processor |
string |
ProductVersion Get the Saxon product version number (for example, "9.2.0.2") |
string |
Edition Get the Saxon product edition (for example, "EE" for Enterprise Edition) |
bool |
IsSchemaAware Indicates whether the Processor is schema-aware. In Saxon 9.2, returns true if using Saxon Enterprise Edition. |
SchemaManager |
SchemaManager Gets the SchemaManager for the Processor. Returns null if the Processor is not schema-aware. |
XmlResolver |
XmlResolver An XmlResolver, which will be used while compiling and running queries, XPath expressions, and stylesheets, if no other XmlResolver is nominated |
decimal |
XmlVersion
The XML version used in this |
net.sf.saxon.Configuration |
Implementation The underlying Configuration object in the Saxon implementation |
Method Summary | |
---|---|
DocumentBuilder |
NewDocumentBuilder()
Create a new |
XQueryCompiler |
NewXQueryCompiler() Create a new XQueryCompiler, which may be used to compile XQuery queries. |
XsltCompiler |
NewXsltCompiler() Create a new XsltCompiler, which may be used to compile XSLT stylesheets. |
XPathCompiler |
NewXPathCompiler() Create a new XPathCompiler, which may be used to compile XPath expressions. |
void |
RegisterCollection(System.Uri collectionUri, System.Collections.IEnumerable contents)
Register a named collection. A collection is identified by a URI (the collection URI),
and its content is represented by an |
void |
RegisterExtensionFunction(ExtensionFunctionDefinition function) Register an extension function with the Processor |
void |
WriteXdmValue(XdmValue sequence, XmlDestination destination) Copy an XdmValue to an XmlDestination |
void |
SetProperty(string name, string value) Set a configuration property |
String |
GetProperty(string name) Get the value of a configuration property |
Constructor Detail |
---|
public Processor()
Create a new Processor. This Processor will have capabilities that depend on the version of the software that has been loaded, and on the features that have been licensed.
public Processor(bool licensedEdition)
Create a Processor.
Parameters:licensedEdition
-
public Processor(bool licensedEdition, bool loadLocally)
Create a Processor.
Parameters:licensedEdition
-
loadLocally
-
public Processor(System.IO.Stream configurationFile)
Create a Processor, based on configuration information supplied in a configuration file.
Not fully supported in this release: for experimental use only.
Parameters:configurationFile
-
Property Detail |
---|
public string ProductTitle {get; }
Get the full name of the Saxon product version implemented by this Processor
public string ProductVersion {get; }
Get the Saxon product version number (for example, "9.2.0.2")
public string Edition {get; }
Get the Saxon product edition (for example, "EE" for Enterprise Edition)
public bool IsSchemaAware {get; }
Indicates whether the Processor is schema-aware. In Saxon 9.2, returns true if using Saxon Enterprise Edition.
Deprecated since Saxon 9.2; schema-awareness is not directly a property of a Processor any more. Use the Edition property to determine which Saxon edition is in use.
public SchemaManager SchemaManager {get; }
Gets the SchemaManager for the Processor. Returns null if the Processor is not schema-aware.
public XmlResolver XmlResolver {get; set; }
An XmlResolver, which will be used while compiling and running queries, XPath expressions, and stylesheets, if no other XmlResolver is nominated
By default an XmlUrlResolver
is used. This means that the responsibility
for resolving and dereferencing URIs rests with the .NET platform, not with the
GNU Classpath.
When Saxon invokes a user-written XmlResolver
, the GetEntity
method
may return any of: a System.IO.Stream
; a System.IO.TextReader
; or a
java.xml.transform.Source
.
public decimal XmlVersion {get; set; }
The XML version used in this Processor
(for example, this determines what characters
are permitted in a name)
The value must be 1.0 or 1.1, as a decimal
. The default version is currently 1.0, but may
change in the future.
public net.sf.saxon.Configuration Implementation {get; }
The underlying Configuration object in the Saxon implementation
This property provides access to internal methods in the Saxon engine that are not specifically exposed in the .NET API. In general these methods should be considered to be less stable than the classes in the Saxon.Api namespace.
The internal methods follow Java naming conventions rather than .NET conventions.
Information about the returned object (and the objects it provides access to) is included in the Saxon JavaDoc docmentation, available online.
Method Detail |
---|
public DocumentBuilder NewDocumentBuilder()
Create a new DocumentBuilder
, which may be used to build XDM documents from
a variety of sources.
DocumentBuilder
public XQueryCompiler NewXQueryCompiler()
Create a new XQueryCompiler, which may be used to compile XQuery queries.
The returned XQueryCompiler retains a live link to the Processor, and may be affected by subsequent changes to the Processor.
public XsltCompiler NewXsltCompiler()
Create a new XsltCompiler, which may be used to compile XSLT stylesheets.
The returned XsltCompiler retains a live link to the Processor, and may be affected by subsequent changes to the Processor.
public XPathCompiler NewXPathCompiler()
Create a new XPathCompiler, which may be used to compile XPath expressions.
The returned XPathCompiler retains a live link to the Processor, and may be affected by subsequent changes to the Processor.
public void RegisterCollection(System.Uri collectionUri, System.Collections.IEnumerable contents)
Register a named collection. A collection is identified by a URI (the collection URI),
and its content is represented by an IEnumerable
that enumerates the contents
of the collection. The values delivered by this enumeration are Uri values, which
can be mapped to nodes using the registered XmlResolver
.
Collections should be stable: that is, two calls to retrieve the same collection URI should return the same sequence of document URIs. This requirement is imposed by the W3C specifications, but in the case of a user-defined collection it is not enforced by the Saxon product.
A collection may be "unregistered" by providing null as the value of the contents argument. A collection may be replaced by specifying the URI of an existing collection.
Collections registered with a processor are available to all queries and stylesheets running under the control of that processor. Collections should not normally be registered while queries and transformations are in progress.
Parameters:collectionUri
-
collection()
function. The default collection is registered
by supplying null as the value of this argument (this is the collection returned
when the XPath collection()
function is called with no arguments).
contents
-
public void RegisterExtensionFunction(ExtensionFunctionDefinition function)
Register an extension function with the Processor
Parameters:function
-
public void WriteXdmValue(XdmValue sequence, XmlDestination destination)
Copy an XdmValue to an XmlDestination
This method can be used to copy any kind of XdmValue
to any kind
of XdmDestination
. The supplied XdmValue
is first converted
to an XML document according to the rules of the XSLT/XQuery serialization
specification (for example, if the XdmValue
is a sequence of atomic
values, they will be turned in a text node in which the values are converted
to strings and separated by single spaces). The resulting document is then
written to the supplied XmlDestination
.
sequence
-
destination
-
public void SetProperty(string name, string value)
Set a configuration property
This method provides the ability to set named properties of the configuration.
The property names are set as strings, whose values can be found in the Java
class net.sf.saxon.FeatureKeys
. The property values are always strings.
Properties whose values are other types are not available via this interface:
however all properties have an effective equivalent whose value is a string.
Note that on/off properties are set using the strings "true" and "false".
Method added in Saxon 9.1
Parameters:name
-
value
-
public String GetProperty(string name)
Get the value of a configuration property
This method provides the ability to get named properties of the configuration.
The property names are supplied as strings, whose values can be found in the Java
class net.sf.saxon.FeatureKeys
. The property values are always returned as strings.
Properties whose values are other types are returned by converting the value to a string.
Note that on/off properties are returned using the strings "true" and "false".
Method added in Saxon 9.1
Parameters:name
-