Package net.sf.saxon.style
Class StyleNodeFactory
- java.lang.Object
-
- net.sf.saxon.style.StyleNodeFactory
-
- All Implemented Interfaces:
java.io.Serializable
,NodeFactory
public class StyleNodeFactory extends java.lang.Object implements NodeFactory
Class StyleNodeFactory.
A Factory for nodes in the stylesheet tree.
Currently only allows Element nodes to be user-constructed.- Author:
- Michael H. Kay
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Configuration
config
protected NamePool
namePool
protected DecimalValue
processorVersion
-
Constructor Summary
Constructors Constructor Description StyleNodeFactory(Configuration config)
Create the node factory for representing an XSLT stylesheet as a tree structure
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DecimalValue
getXsltProcessorVersion()
Get the XSLT processor version to be used by this node factory.boolean
isElementAvailable(java.lang.String uri, java.lang.String localName)
Method to support the element-available() functionElementImpl
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.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 Detail
-
config
protected Configuration config
-
namePool
protected NamePool namePool
-
processorVersion
protected DecimalValue processorVersion
-
-
Constructor Detail
-
StyleNodeFactory
public StyleNodeFactory(Configuration config)
Create the node factory for representing an XSLT stylesheet as a tree structure- Parameters:
config
- the Saxon configuration
-
-
Method Detail
-
setXsltProcessorVersion
public void setXsltProcessorVersion(DecimalValue version)
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
public DecimalValue 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
protected StyleElement makeXSLElement(int f)
Make an XSL element node- Parameters:
f
- the fingerprint of the node name- Returns:
- the constructed element node
-
isElementAvailable
public boolean isElementAvailable(java.lang.String uri, java.lang.String localName)
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
-
-