Package net.sf.saxon.style
Class StyleNodeFactory
java.lang.Object
net.sf.saxon.style.StyleNodeFactory
- All Implemented Interfaces:
Serializable
,NodeFactory
Class StyleNodeFactory.
A Factory for nodes in the stylesheet tree.
Currently only allows Element nodes to be user-constructed.
A Factory for nodes in the stylesheet tree.
Currently only allows Element nodes to be user-constructed.
- Author:
- Michael H. Kay
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Configuration
protected NamePool
protected DecimalValue
-
Constructor Summary
ConstructorsConstructorDescriptionStyleNodeFactory
(Configuration config) Create the node factory for representing an XSLT stylesheet as a tree structure -
Method Summary
Modifier and TypeMethodDescriptionGet the XSLT processor version to be used by this node factory.boolean
isElementAvailable
(String uri, String localName) Method to support the element-available() functionmakeElementNode
(NodeInfo parent, NodeName elemName, SchemaType elemType, boolean isNilled, AttributeCollectionImpl attlist, NamespaceBinding[] namespaces, int namespacesUsed, PipelineConfiguration pipe, int locationId, int sequence) Create an Element node.protected StyleElement
makeXSLElement
(int f) Make an XSL element nodevoid
setXsltProcessorVersion
(DecimalValue version) Set the XSLT processor version to be used by this node factory.
-
Field Details
-
config
-
namePool
-
processorVersion
-
-
Constructor Details
-
StyleNodeFactory
Create the node factory for representing an XSLT stylesheet as a tree structure- Parameters:
config
- the Saxon configuration
-
-
Method Details
-
setXsltProcessorVersion
Set the XSLT processor version to be used by this node factory. This must be 0.0, 2.0 or 3.0. The value 3.0 is ignored in Saxon-HE. The value 0.0 indicates that the processor version is to be taken from the version attribute of the xsl:stylesheet element. -
getXsltProcessorVersion
Get the XSLT processor version to be used by this node factory.- Returns:
- the processor version (always 2.0 or 3.0 once the stylesheet version attribute has been read)
-
makeElementNode
public ElementImpl makeElementNode(NodeInfo parent, NodeName elemName, SchemaType elemType, boolean isNilled, AttributeCollectionImpl attlist, NamespaceBinding[] namespaces, int namespacesUsed, PipelineConfiguration pipe, int locationId, int sequence) Create an Element node. Note, if there is an error detected while constructing the Element, we add the element anyway, and return success, but flag the element with a validation error. This allows us to report more than one error from a single compilation.- 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
- 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 usedpipe
- 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.
-
makeXSLElement
Make an XSL element node- Parameters:
f
- the fingerprint of the node name- Returns:
- the constructed element node
-
isElementAvailable
Method to support the element-available() function- Parameters:
uri
- the namespace URIlocalName
- the local Name- Returns:
- true if an extension element of this name is recognized
-