Class SchemaManagerImpl

java.lang.Object
net.sf.saxon.s9api.SchemaManager
com.saxonica.ee.s9api.SchemaManagerImpl

public class SchemaManagerImpl extends SchemaManager
A SchemaManager is used to load schema documents, and to set options for the way in which they are loaded.
  • Constructor Details

    • SchemaManagerImpl

      public SchemaManagerImpl(Processor processor)
  • Method Details

    • setXsdVersion

      public void setXsdVersion(String version)
      Set the version of XSD in use for this schema. The value must be "1.0" or "1.1". The default is currently "1.0", but this may change in a future release.
      Specified by:
      setXsdVersion in class SchemaManager
      Parameters:
      version - the version of the XSD specification/language: either "1.0" or "1.1".
    • getXsdVersion

      public String getXsdVersion()
      Get the version of XSD in use. The value will be "1.0" or "1.1"
      Specified by:
      getXsdVersion in class SchemaManager
      Returns:
      the version of XSD in use.
    • setErrorListener

      public void setErrorListener(ErrorListener listener)
      Set the ErrorListener to be used while loading and validating schema documents
      Specified by:
      setErrorListener in class SchemaManager
      Parameters:
      listener - The error listener to be used. This is notified of all errors detected during the compilation. May be set to null to revert to the default ErrorListener.
    • getErrorListener

      public ErrorListener getErrorListener()
      Get the ErrorListener being used while loading and validating schema documents
      Specified by:
      getErrorListener in class SchemaManager
      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.
    • setErrorReporter

      public void setErrorReporter(ErrorReporter reporter)
      Specified by:
      setErrorReporter in class SchemaManager
    • getErrorReporter

      public ErrorReporter getErrorReporter()
      Specified by:
      getErrorReporter in class SchemaManager
    • 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 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.

      Specified by:
      setSchemaURIResolver in class SchemaManager
      Parameters:
      resolver - the SchemaURIResolver to be used during schema loading.
    • getSchemaURIResolver

      public SchemaURIResolver getSchemaURIResolver()
      Get the SchemaURIResolver to be used during schema loading.
      Specified by:
      getSchemaURIResolver in class SchemaManager
      Returns:
      the URIResolver used during stylesheet compilation. Returns null if no user-supplied URIResolver has been set.
    • load

      public XsdSchema load(Source... sources) throws SaxonApiException
      Load schema documents from given Sources. The schema components derived from this schema document are added to the collection of schema components maintained by this SchemaManager.

      If the source is a StreamSource containing a systemId but no InputStream or Reader, then an attempt is made to resolve the systemId using the resource resolver registered with the Configuration. It is NOT resolved using the SchemaURIResolver (this is used only for included and imported modules).

      Specified by:
      load in class SchemaManager
      Parameters:
      sources - the documents containing the schema. The getSystemId() method applied to each Source must return a base URI suitable for resolving xs:include and xs:import directives. The document may be either a schema document in source XSD format, or a compiled schema in Saxon-defined SCM format (as produced using the -export option)
      Returns:
      the schema resulting from this and previous calls on load(Source...)
      Throws:
      SaxonApiException - if the schema document is not valid, or if its contents are inconsistent with the schema components already held by this SchemaManager.
    • importComponents

      public void importComponents(Source source) throws SaxonApiException
      Import a precompiled Schema Component Model from a given Source. The schema components derived from this schema document are added to the collection of schema components maintained by this SchemaManager.
      Specified by:
      importComponents in class SchemaManager
      Parameters:
      source - the XML file containing the schema component model, as generated by a previous call on exportComponents(net.sf.saxon.s9api.Destination)
      Throws:
      SaxonApiException - if a failure occurs loading the schema from the supplied source
    • clear

      public void clear()
      Description copied from class: SchemaManager
      Reset the schema manager to its initial state, in particular, set the accumulated schema to be empty.
      Specified by:
      clear in class SchemaManager
    • getXsdSchema

      public XsdSchema getXsdSchema()
      Specified by:
      getXsdSchema in class SchemaManager
    • exportComponents

      public void exportComponents(Destination destination) throws SaxonApiException
      Export a precompiled Schema Component Model containing all the components (except built-in components) that have been loaded into this Processor.
      Specified by:
      exportComponents in class SchemaManager
      Parameters:
      destination - the destination to recieve the precompiled Schema Component Model in the form of an XML document
      Throws:
      SaxonApiException - if a failure occurs writing the schema components to the supplied destination
    • newSchemaValidator

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

      The result of calling schemaManager.newSchemaValidator() is the same as the result of calling schemaManager.getXsdSchema().newSchemaValidator().

      Specified by:
      newSchemaValidator in class SchemaManager
      Returns:
      a new SchemaValidator
      Throws:
      IllegalStateException - if no schema has been loaded (using either load(Source...) or importComponents(Source)). To validate against an empty schema, first call {load(Source...)} supplying no arguments.