Class SchemaNodeFactory

java.lang.Object
com.saxonica.ee.schema.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.
  • Constructor Details

    • 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 Details

    • 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, NodeName elemName, SchemaType elemType, boolean isNilled, AttributeMap attlist, NamespaceMap namespaces, PipelineConfiguration pipe, Location locationId, int sequence)
      Create an Element node.
      Specified by:
      makeElementNode in interface NodeFactory
      Parameters:
      parent - The parent element
      elemName - The element name
      elemType - The type annotation of the element
      isNilled - true if the element is to be marked as nilled
      attlist - The attribute collection, excluding any namespace attributes
      namespaces - in-scope namespace declarations for this element
      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.
      Returns:
      the element node
    • makeTextNode

      public TextImpl makeTextNode(NodeInfo parent, UnicodeString content)
      Make a text node
      Specified by:
      makeTextNode in interface NodeFactory
      Parameters:
      parent - the parent element
      content - the content of the text node
      Returns:
      the constructed text node
    • 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.