xsl-list
[Top] [All Lists]

Re: [xsl] Parent Node recursion template fails

2012-02-08 17:58:53
You don't have a template rule that matches the document node (/) in mode navigation-special_paint-selected, so when the recursion reaches the root, the built-in template for document nodes is invoked. The built-in template rule applies-templates to its children, so you oscillate infinitely between the root document node and its element child. The solution is to add a rule for match="/" that does nothing.

Michael Kay
Saxonica

On 08/02/2012 22:50, Karl Stubsjoen wrote:
This recursion template is failing.  I'm getting the error, too many
recursions...  I would expect that when I get to the root element it
would stop recursing.  I guess I need a test for root element.
Karl..

     <xsl:template match="*" mode="navigation-special_paint-selected">
         <xsl:param name="node-id"/>
         <xsl:choose>
             <xsl:when test="generate-id() = $node-id">
                 <xsl:attribute name="background">#eee</xsl:attribute>
             </xsl:when>
             <xsl:otherwise>
                 <xsl:apply-templates select="parent::node()"
mode="navigation-special_paint-selected">
                     <xsl:with-param name="node-id" select="$node-id"/>
                 </xsl:apply-templates>
             </xsl:otherwise>
         </xsl:choose>
     </xsl:template>

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--