net.sf.saxon.s9api

Class SchemaManager

public class SchemaManager extends Object

The SchemaManager is used to load schema documents, and to set options for the way in which they are loaded. At present all the resulting schema components are held in a single pool owned by the Processor object.
Constructor Summary
protected SchemaManager(Configuration config)
Method Summary
voidexportComponents(Destination destination)
Export a precompiled Schema Component Model containing all the components (except built-in components) that have been loaded into this Processor.
ErrorListenergetErrorListener()
Get the ErrorListener being used while loading and validating schema documents
SchemaURIResolvergetSchemaURIResolver()
Get the SchemaURIResolver to be used during schema loading.
voidimportComponents(Source source)
Import a precompiled Schema Component Model from a given Source.
voidload(Source source)
Load a schema document from a given Source.
SchemaValidatornewSchemaValidator()
Create a SchemaValidator which can be used to validate instance documents against the schema held by this SchemaManager
voidsetErrorListener(ErrorListener listener)
Set the ErrorListener to be used while loading and validating schema documents
voidsetSchemaURIResolver(SchemaURIResolver resolver)
Set the SchemaURIResolver to be used during schema loading.

Constructor Detail

SchemaManager

protected SchemaManager(Configuration config)

Method Detail

exportComponents

public void exportComponents(Destination destination)
Export a precompiled Schema Component Model containing all the components (except built-in components) that have been loaded into this Processor.

Parameters: destination the destination to recieve the precompiled Schema Component Model in the form of an XML document

getErrorListener

public ErrorListener getErrorListener()
Get the ErrorListener being used while loading and validating schema documents

Returns: listener The error listener in use. This is notified of all errors detected during the compilation. Returns null if no user-supplied ErrorListener has been set.

getSchemaURIResolver

public SchemaURIResolver getSchemaURIResolver()
Get the SchemaURIResolver to be used during schema loading.

Returns: the URIResolver used during stylesheet compilation. Returns null if no user-supplied URIResolver has been set.

importComponents

public void importComponents(Source source)
Import a precompiled Schema Component Model from a given Source. The schema components derived from this schema document are added to the cache of schema components maintained by this SchemaManager

Parameters: source the XML file containing the schema component model, as generated by a previous call on SchemaManager

load

public void load(Source source)
Load a schema document from a given Source. The schema components derived from this schema document are added to the cache of schema components maintained by this SchemaManager

Parameters: source the document containing the schema. The getSystemId() method applied to this Source must return a base URI suitable for resolving xs:include and xs:import directives.

Throws: SaxonApiException if the schema document is not valid, or if its contents are inconsistent with the schema components already held by this SchemaManager.

newSchemaValidator

public SchemaValidator newSchemaValidator()
Create a SchemaValidator which can be used to validate instance documents against the schema held by this SchemaManager

Returns: a new SchemaValidator

setErrorListener

public void setErrorListener(ErrorListener listener)
Set the ErrorListener to be used while loading and validating schema documents

Parameters: listener The error listener to be used. This is notified of all errors detected during the compilation.

setSchemaURIResolver

public void setSchemaURIResolver(SchemaURIResolver resolver)
Set the SchemaURIResolver to be used during schema loading. This SchemaURIResolver, despite its name, is not used for resolving relative URIs against a base URI; it is used for dereferencing an absolute URI (after resolution) to return a javax.xml.transform.Source representing the location where a schema document can be found.

This SchemaURIResolver is used to dereference the URIs appearing in xs:import, xs:include, and xs:redefine declarations.

Parameters: resolver the SchemaURIResolver to be used during schema loading.