net.sf.saxon.style

Class StyleNodeFactory

Implemented Interfaces:
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

Constructor Summary

StyleNodeFactory(Configuration config, ErrorListener errorListener)
Create the node factory for representing an XSLT stylesheet as a tree structure

Method Summary

boolean
isElementAvailable(String uri, String localName)
Method to support the element-available() function
ElementImpl
makeElementNode(NodeInfo parent, int nameCode, AttributeCollectionImpl attlist, int[] namespaces, int namespacesUsed, LocationProvider locator, int locationId, int sequence)
Create an Element node.

Constructor Details

StyleNodeFactory

public StyleNodeFactory(Configuration config,
                        ErrorListener errorListener)
Create the node factory for representing an XSLT stylesheet as a tree structure
Parameters:
config - the Saxon configuration
errorListener - used for reporting errors

Method Details

isElementAvailable

public boolean isElementAvailable(String uri,
                                  String localName)
Method to support the element-available() function
Parameters:
uri - the namespace URI
localName - the local Name
Returns:
true if an extension element of this name is recognized

makeElementNode

public ElementImpl makeElementNode(NodeInfo parent,
                                   int nameCode,
                                   AttributeCollectionImpl attlist,
                                   int[] namespaces,
                                   int namespacesUsed,
                                   LocationProvider locator,
                                   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 interface NodeFactory
Parameters:
nameCode - The element name
attlist - the attribute list