## com.saxonica.xsltextn
Class StyleNodeFactoryPE

    java.lang.Object
      net.sf.saxon.style.StyleNodeFactory
          com.saxonica.xsltextn.StyleNodeFactoryPE

All Implemented Interfaces:
  Serializable, NodeFactory

    public class StyleNodeFactoryPE

extends StyleNodeFactory
implements NodeFactory

Class StyleNodeFactoryPE: Subclass of StyleNodeFactory used for Saxon-PE and Saxon-EE.
A Factory for nodes in the stylesheet tree.
This version differs from the parent class in allowing extension elements to be constructed if the URI corresponds to an extension element factory registered in the Configuration; it also recognizes new XSLT elements defined in the (draft) specification of XSLT 3.0

Author:
  Michael H. Kay
See Also:
  Serialized Form

Field Summary
`protected boolean` `allowExtensions`
`protected IntHashMap<Class>` `userStyles`

Fields inherited from class net.sf.saxon.style.StyleNodeFactory
`config, namePool, processorVersion`

Constructor Summary
`StyleNodeFactoryPE(Configuration config)` 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, int typeCode, AttributeCollectionImpl attlist, int[] namespaces, int namespacesUsed, PipelineConfiguration pipe, int locationId, int sequence)` Create an Element node.
`protected StyleElement` `makeXSLElement(int f)` Make an XSL element node

Methods inherited from class net.sf.saxon.style.StyleNodeFactory
`getXsltProcessorVersion, setXsltProcessorVersion`

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

Field Detail

### userStyles

    protected IntHashMap<Class> userStyles

### allowExtensions

    protected boolean allowExtensions

Constructor Detail

### StyleNodeFactoryPE

    public StyleNodeFactoryPE(Configuration config)

  Create the node factory for representing an XSLT stylesheet as a tree structure

  Parameters:
    `config` - the Saxon configuration

Method Detail

### makeElementNode

    public ElementImpl makeElementNode(NodeInfo parent,
                                       int nameCode,
                                       int typeCode,
                                       AttributeCollectionImpl attlist,
                                       int[] 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 interface `NodeFactory`
  Overrides:
    `makeElementNode` in class `StyleNodeFactory`
  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
    `pipe` - The pipeline configuration (provides access to the error listener and the location provider)
    `locationId` - Indicates the source document and line number containing the node
    `sequence` - Sequence number to be assigned to represent document order.

### makeXSLElement

    protected StyleElement makeXSLElement(int f)

  Description copied from class: `StyleNodeFactory`
  Make an XSL element node

  Overrides:
    `makeXSLElement` in class `StyleNodeFactory`
  Parameters:
    `f` - the fingerprint of the node name
  Returns:
    the constructed element node

### isElementAvailable

    public boolean isElementAvailable(String uri,
                                      String localName)

  Method to support the element-available() function

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

Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.