## net.sf.saxon.style
Class StyleNodeFactory

    java.lang.Object
      |
      +--net.sf.saxon.style.StyleNodeFactory

All 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.

Constructor Summary
`StyleNodeFactory(NamePool pool, boolean allowExtensions)`

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

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### StyleNodeFactory

    public StyleNodeFactory(NamePool pool,
                            boolean allowExtensions)

Method Detail

### makeElementNode

    public ElementImpl makeElementNode(NodeInfo parent,
                                       int nameCode,
                                       AttributeCollection 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(java.lang.String uri,
                                      java.lang.String localName)

  Method to support the element-available() function