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

Author:
  Michael H. Kay

Constructor Summary
`StyleNodeFactory(Configuration config, javax.xml.transform.ErrorListener errorListener)` Create the node factory for representing an XSLT stylesheet as a tree structure

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, int typeCode, AttributeCollectionImpl 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(Configuration config,
                            javax.xml.transform.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,
                                       int typeCode,
                                       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
    `typeCode` -
    `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

  Parameters:
    `uri` - the namespace URI
    `localName` - the local Name
  Returns:
    true if an extension element of this name is recognized

Copyright (c) Saxonica Limited. All rights reserved.