Package com.saxonica.ee.schema.sdoc
Class SchemaNodeFactory
java.lang.Object
com.saxonica.ee.schema.sdoc.SchemaNodeFactory
- All Implemented Interfaces:
NodeFactory
Class SchemaNodeFactory.
A Factory for nodes in the schema document tree.
Currently only allows Element nodes to be user-constructed.
A Factory for nodes in the schema document tree.
Currently only allows Element nodes to be user-constructed.
-
Constructor Summary
ConstructorsConstructorDescriptionSchemaNodeFactory
(SchemaCompiler compiler, PipelineConfiguration pipe, SchemaElement referrer) Create a SchemaNodeFactory, used for building the tree representation of a schema document -
Method Summary
Modifier and TypeMethodDescriptionGet the pipeline configurationGet the SchemaCompiler associated with this node factorymakeElementNode
(NodeInfo parent, NodeName elemName, SchemaType elemType, boolean isNilled, AttributeMap attlist, NamespaceMap namespaces, PipelineConfiguration pipe, Location locationId, int sequence) Create an Element node.makeTextNode
(NodeInfo parent, UnicodeString content) Make a text noderegisterId
(String id, SchemaElement element) Register an ID value found on an element in the schema document
-
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 reportingpipe
- the PipelineConfigurationreferrer
- the element, typically an xs:include, xs:import, or xs:redefine, that caused this schema document to be built
-
-
Method Details
-
getPipelineConfiguration
Get the pipeline configuration- Returns:
- the pipeline configuration
-
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 interfaceNodeFactory
- Parameters:
parent
- The parent elementelemName
- The element nameelemType
- The type annotation of the elementisNilled
- true if the element is to be marked as nilledattlist
- The attribute collection, excluding any namespace attributesnamespaces
- in-scope namespace declarations for this elementpipe
- The pipeline configuration (provides access to the error listener and the location provider)locationId
- Indicates the source document and line number containing the nodesequence
- Sequence number to be assigned to represent document order.- Returns:
- the element node
-
makeTextNode
Make a text node- Specified by:
makeTextNode
in interfaceNodeFactory
- Parameters:
parent
- the parent elementcontent
- the content of the text node- Returns:
- the constructed text node
-
registerId
Register an ID value found on an element in the schema document- Parameters:
id
- the ID valueelement
- 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.
-