Class ElemForEach

    • Field Detail

      • m_doc_cache_off

        public boolean m_doc_cache_off
        This is set by an "xalan-doc-cache-off" pi, or the old "xalan:doc-cache-off" pi. The old form of the PI only works for XML parsers that are not namespace aware. It tells the engine that documents created in the location paths executed by this element will not be reparsed. It's set by StylesheetHandler during construction. Note that this feature applies _only_ to xsl:for-each elements in its current incarnation; a more general cache management solution is desperately needed.
    • Constructor Detail

      • ElemForEach

        public ElemForEach()
        Construct a element representing xsl:for-each.
    • Method Detail

      • setSelect

        public void setSelect​(XPath xpath)
        Set the "select" attribute.
        Parameters:
        xpath - The XPath expression for the "select" attribute.
      • getSelect

        public Expression getSelect()
        Get the "select" attribute.
        Returns:
        The XPath expression for the "select" attribute.
      • compose

        public void compose​(StylesheetRoot sroot)
                     throws javax.xml.transform.TransformerException
        This function is called after everything else has been recomposed, and allows the template to set remaining values that may be based on some other property that depends on recomposition. NEEDSDOC @param sroot
        Overrides:
        compose in class ElemTemplateElement
        Throws:
        javax.xml.transform.TransformerException
      • endCompose

        public void endCompose​(StylesheetRoot sroot)
                        throws javax.xml.transform.TransformerException
        This after the template's children have been composed.
        Overrides:
        endCompose in class ElemTemplateElement
        Throws:
        javax.xml.transform.TransformerException
      • getSortElemCount

        public int getSortElemCount()
        Get the count xsl:sort elements associated with this element.
        Returns:
        The number of xsl:sort elements.
      • getSortElem

        public ElemSort getSortElem​(int i)
        Get a xsl:sort element associated with this element.
        Parameters:
        i - Index of xsl:sort element to get
        Returns:
        xsl:sort element at given index
      • setSortElem

        public void setSortElem​(ElemSort sortElem)
        Set a xsl:sort element associated with this element.
        Parameters:
        sortElem - xsl:sort element to set
      • getXSLToken

        public int getXSLToken()
        Get an int constant identifying the type of element.
        Overrides:
        getXSLToken in class ElemTemplateElement
        Returns:
        The token ID for this element
        See Also:
        Constants
      • getNodeName

        public java.lang.String getNodeName()
        Return the node name.
        Specified by:
        getNodeName in interface org.w3c.dom.Node
        Overrides:
        getNodeName in class ElemTemplateElement
        Returns:
        The element's name
      • execute

        public void execute​(TransformerImpl transformer)
                     throws javax.xml.transform.TransformerException
        Execute the xsl:for-each transformation
        Overrides:
        execute in class ElemTemplateElement
        Parameters:
        transformer - non-null reference to the the current transform-time state.
        Throws:
        javax.xml.transform.TransformerException
      • sortNodes

        public DTMIterator sortNodes​(XPathContext xctxt,
                                     java.util.Vector keys,
                                     DTMIterator sourceNodes)
                              throws javax.xml.transform.TransformerException
        Sort given nodes
        Parameters:
        xctxt - The XPath runtime state for the sort.
        keys - Vector of sort keyx
        sourceNodes - Iterator of nodes to sort
        Returns:
        iterator of sorted nodes
        Throws:
        javax.xml.transform.TransformerException
      • transformSelectedNodes

        public void transformSelectedNodes​(TransformerImpl transformer)
                                    throws javax.xml.transform.TransformerException
        Perform a query if needed, and call transformNode for each child.
        Parameters:
        transformer - non-null reference to the the current transform-time state.
        Throws:
        javax.xml.transform.TransformerException - Thrown in a variety of circumstances.
      • callChildVisitors

        public void callChildVisitors​(XSLTVisitor visitor,
                                      boolean callAttributes)
        Call the children visitors.
        Parameters:
        visitor - The visitor whose appropriate method will be called.