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, int typeCode, AttributeCollectionImpl attlist, int[] namespaces, int namespacesUsed, PipelineConfiguration pipe, int locationId, int sequence)
          Create an Element node.
 SchemaException registerId(String id, SchemaElement element)
          Register an ID value found on an element in the schema document
 
Methods inherited from class java.lang.Object
clone, equals, finalize, 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,
                                   int typeCode,
                                   AttributeCollectionImpl attlist,
                                   int[] namespaces,
                                   int namespacesUsed,
                                   PipelineConfiguration pipe,
                                   int locationId,
                                   int sequence)
Create an Element node.

Specified by:
makeElementNode in interface NodeFactory
Parameters:
nameCode - The element name
typeCode -
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
pipe - The pipeline configuration (provides access to the error listener and the location provider)
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 on an element 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: note this is returned, not thrown.


Copyright (c) Saxonica Limited. All rights reserved.