Hi again,
On 2/8/2012 6:05 PM, David Carlisle wrote:
<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>
because you have used parent::node() (which could more simply be written
as ..) rather than parent::* then if it doesn't find the $node-id it
will reach / and then (because your template only matches * not /) it
will apply the default template to / which will apply templates to its
element child, hitting this template again and looping forever.
cahanging the match to "*|/" should fix it.
As I thought immediately after hitting "send" ... a slightly neater
solution.
Or apply-templates select="parent::*", as David also almost says.
Cheers,
Wendell
======================================================================
Wendell Piez
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
--~------------------------------------------------------------------
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>
--~--