Class SchemaNodeFactory

  • All Implemented Interfaces:
    NodeFactory

    public class SchemaNodeFactory
    extends java.lang.Object
    implements NodeFactory
    Class SchemaNodeFactory.
    A Factory for nodes in the schema document tree.
    Currently only allows Element nodes to be user-constructed.
    • 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,
                                           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,
                                     java.lang.CharSequence 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​(java.lang.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.