Class 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

      Constructors 
      Constructor Description
      StyleNodeFactory​(Configuration config, javax.xml.transform.ErrorListener errorListener)
      Create the node factory for representing an XSLT stylesheet as a tree structure
    • 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