Configuration using Saxon.Api (C#)
In the Saxon.Api interface in SaxonCS, the root API object is the Saxon.Api.Processor.
This is a wrapper around a Saxon.Hej.Configuration
(net.sf.saxon.Configuration) object, which should not normally be used directly (though it's exposed
as public, just in case you need to). There are two ways to set configuration properties:
processor.SetProperty(Saxon.Api.Feature<bool>.TIMING, true)
processor.SetProperty("http://saxon.sf.net/feature/timing", "true");
There are also two corresponding GetProperty()
methods.
The first form is recommended for type-safety (it is also faster, though this is rarely going to make a difference). The second form may be needed when the property name is not known statically, for example if it is being read from a configuration file of some kind.
The Saxon.Api Processor
object also has a constructor new Processor(stream)
which allows the underlying
Configuration
to be built from a supplied configuration file, which must have the format described in Configuration file.
In many cases with the Saxon.Api interface it is more appropriate to set options at a finer level of granularity than the Processor
.
For example, options that affect XSLT stylesheet compilation can be set on the XsltCompiler
object, and options that affect XQuery compilation on the XQueryCompiler.