[xsl] how to always call a template at the end of xsl:template

Subject: [xsl] how to always call a template at the end of xsl:template
From: Xiaocun Xu <xiaocunxu@xxxxxxxxx>
Date: Tue, 21 Oct 2003 10:19:23 -0700 (PDT)

  I need to log row ID for error reporting and this
has to be done at end of all rows regardless of
template mode.  The obvious way is to add
<xsl:call-template name="logRowId"/> at end of each of
the <xsl:template match="row"> regardless of mode, the
problem is maintainence as I need to pepper this call
to all row templates (there are a number of row
templates with different modes) and I need to continue
remember add this call at end of each new row template
mode in the future.  Is there a clean way to always
call template logRowId at end of <xsl:template
match="row"> regardless of mode?  Sample source XML
and XSLT below.


Source XML:
<row row="7">
	<cell column="1">host</cell>
	<cell column="3">fsc1_BA1</cell>
	<cell column="4">unacknowledged</cell>
	<cell column="5">rfx</cell>
	<cell column="7">lead</cell>
<row row="9">
	<cell column="1">respondent</cell>
	<cell column="2">s1</cell>
	<cell column="3">s1_AM1</cell>
	<cell column="4">unacknowledged</cell>
	<cell column="5">rfx</cell>

<xsl:apply-templates select="//row[@row &lt; 8]"
<xsl:apply-templates select="//row[@row &gt; 8]"

<xsl:template match="row" mode="host">
	<!-- skip unnecessary details -->
	<xsl:call-template name="logRowId"/>
<xsl:template match="row" mode="respondent">
	<!-- skip unnecessary details -->
	<xsl:call-template name="logRowId"/>

<!-- log row ID for error reporting -->
<xsl:template name="logRowId">
	<xsl:element name="Logs">
		<xsl:attribute name="rowID"><xsl:value-of

Do you Yahoo!?
The New Yahoo! Shopping - with improved product search

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Current Thread