com.saxonica.xsltextn
Class StyleNodeFactoryPE

java.lang.Object
  extended by net.sf.saxon.style.StyleNodeFactory
      extended by com.saxonica.xsltextn.StyleNodeFactoryPE
All Implemented Interfaces:
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.

Author:
Michael H. Kay

Field Summary
protected  boolean allowExtensions
           
protected  IntHashMap<Class> userStyles
           
 
Fields inherited from class net.sf.saxon.style.StyleNodeFactory
config, namePool
 
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.
 
Methods inherited from class net.sf.saxon.style.StyleNodeFactory
makeXSLElement
 
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.

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) Saxonica Limited. All rights reserved.