com.saxonica.sdoc
Class SchemaNodeFactory

java.lang.Object
  extended by com.saxonica.sdoc.SchemaNodeFactory
All Implemented Interfaces:
NodeFactory

public class SchemaNodeFactory
extends Object
implements NodeFactory

Class SchemaNodeFactory.
A Factory for nodes in the schema document tree.
Currently only allows Element nodes to be user-constructed.

Author:
Michael H. Kay

Constructor Summary
SchemaNodeFactory(SchemaCompiler compiler, PipelineConfiguration pipe, SchemaElement referrer)
          Create a SchemaNodeFactory, used for building the tree representation of a schema document
 
Method Summary
 PipelineConfiguration getPipelineConfiguration()
          Get the pipeline configuration
 SchemaCompiler getSchemaCompiler()
          Get the SchemaCompiler associated with this node factory
 ElementImpl makeElementNode(NodeInfo parent, int nameCode, AttributeCollectionImpl attlist, int[] namespaces, int namespacesUsed, LocationProvider locator, int locationId, int sequence)
          Create an Element node.
 SchemaException registerId(String id, SchemaElement element)
          Register an ID value found in the schema document
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SchemaNodeFactory

public SchemaNodeFactory(SchemaCompiler compiler,
                         PipelineConfiguration pipe,
                         SchemaElement referrer)
Create a SchemaNodeFactory, used for building the tree representation of a schema document

Parameters:
compiler - used for error reporting
pipe - the PipelineConfiguration
referrer - the element, typically an xs:include, xs:import, or xs:redefine, that caused this schema document to be built
Method Detail

getPipelineConfiguration

public PipelineConfiguration getPipelineConfiguration()
Get the pipeline configuration

Returns:
the pipeline configuration

getSchemaCompiler

public SchemaCompiler getSchemaCompiler()
Get the SchemaCompiler associated with this node factory

Returns:
the SchemaCompiler associated with this node factory

makeElementNode

public ElementImpl makeElementNode(NodeInfo parent,
                                   int nameCode,
                                   AttributeCollectionImpl attlist,
                                   int[] namespaces,
                                   int namespacesUsed,
                                   LocationProvider locator,
                                   int locationId,
                                   int sequence)
Create an Element node.

Specified by:
makeElementNode in interface NodeFactory
Parameters:
nameCode - The element name
attlist - the attribute list
parent - The parent element
namespaces - List of new namespace declarations for this element, as a sequence of namespace codes representing pairs of strings: (prefix1, uri1), (prefix2, uri2)...
namespacesUsed - the number of elemnts of the namespaces array actually used
locator - Indicates the source document and line number containing the node
locationId - Indicates the source document and line number containing the node
sequence - Sequence number to be assigned to represent document order.

registerId

public SchemaException registerId(String id,
                                  SchemaElement element)
Register an ID value found in the schema document

Parameters:
id - the ID value
element - the element on which the ID value appears
Returns:
a SchemaException if the ID value is invalid or non-unique


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