com.saxonica.sdoc
Class SchemaReader

java.lang.Object
  extended by com.saxonica.sdoc.SchemaReader

public abstract class SchemaReader
extends Object

A class for reading XML Schema documents. The class is not instantiated, its methods are static.


Method Summary
static Source getSource(String baseURI, String relativeURI, PipelineConfiguration pipe, String targetNamespace)
          Resolve and dereference a URI to get a Source object representing a schema document
static Source[] getSources(String baseURI, String[] relativeURIs, PipelineConfiguration pipe, String targetNamespace)
          Resolve and dereference a set of URIs to get a set of Source objects representing schema documents
static SchemaDocument read(Source source, SchemaCompiler compiler, PipelineConfiguration pipe, SchemaElement referrer)
          Read the Schema from a source XML document and returns the Schema document.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getSource

public static Source getSource(String baseURI,
                               String relativeURI,
                               PipelineConfiguration pipe,
                               String targetNamespace)
                        throws SchemaException
Resolve and dereference a URI to get a Source object representing a schema document

Parameters:
baseURI - the base URI
relativeURI - the URI to be resolved relative to the base URI
pipe - the pipeline configuration (which may define a URIResolver to be used)
targetNamespace - the targetNamespace of the schema document required (this is set to null when doing an include or redefine, because in those cases the targetNamespace cannot be used to locate the schema document)
Returns:
the JAXP Source object representing the deferenced URI, or null if no source could be located
Throws:
SchemaException - if any errors occur

getSources

public static Source[] getSources(String baseURI,
                                  String[] relativeURIs,
                                  PipelineConfiguration pipe,
                                  String targetNamespace)
                           throws SchemaException
Resolve and dereference a set of URIs to get a set of Source objects representing schema documents

Parameters:
baseURI - the base URI
relativeURIs - the URIs (location hints) to be resolved relative to the base URI
pipe - the pipeline configuration (which may define a URIResolver to be used)
targetNamespace - the targetNamespace of the schema document required (this is set to null when doing an include or redefine, because in those cases the targetNamespace cannot be used to locate the schema document)
Returns:
the JAXP Source object representing the deferenced URI
Throws:
SchemaException - if any errors occur

read

public static SchemaDocument read(Source source,
                                  SchemaCompiler compiler,
                                  PipelineConfiguration pipe,
                                  SchemaElement referrer)
                           throws SchemaException
Read the Schema from a source XML document and returns the Schema document. The schema document is validated against the XML Representation Constraints, but the resulting schema components are not validated against schema component constraints: this must be done by the caller after all schema components are assembled, by calling SchemaCompiler.validate(com.saxonica.sdoc.SchemaDocument)

Parameters:
source - the JAXP Source containing the schema document
compiler - used for tracking source documents read, and for error reporting
pipe - the pipeline configuration
referrer - if the schema document is referenced from an xs:import, xs:include, or xs:redefined, this parameter identifies that element; otherwise, null.
Returns:
the new Schema created from the source of this SchemaReader
Throws:
SchemaException - if the schema module can't be read or parsed, or if the schema module is an invalid schema


Copyright (C) Michael H. Kay. All rights reserved.