net.sf.saxon.style
Class StyleNodeFactory

java.lang.Object
  extended by net.sf.saxon.style.StyleNodeFactory
All Implemented Interfaces:
NodeFactory

public class StyleNodeFactory
extends 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.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

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 Detail

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
parent - The parent element
namespaces - 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 used
locator - Indicates the source document and line number containing the node
locationId - Indicates the source document and line number containing the node
sequence - Sequence number to be assigned to represent document order.

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


Copyright (C) Michael H. Kay. All rights reserved.