Thank you Tom and Wendell...getting much clearer...
Tom, since you've also used value-of, may I assume this is not a case where
I can use apply-templates? Is that because I want the items in table rows?
kathy
-----Original Message-----
From: Passin, Tom [mailto:tpassin(_at_)mitretek(_dot_)org]
Sent: Tuesday, April 15, 2003 2:51 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] more on Using apply-templates instead of for-each?
[ Kathy Burke]
Please remember: newbie!
I know Wendell's right about using apply-templates instead of
for-each but
I've been trying to change my structure without
success...would appreciate
knowing how I could adjust the following template to
accomplish it using
apply-templates..
It is not much different (in this case), just some re-arranging.
<xsl:template match="safety">
<table border="1" width="100%" cellpadding="4">
<tr bgcolor="red" valign="bottom">
<th align="left">
<h3>SAFETY</h3>
</th>
</tr>
<xsl:apply-templates
select="numbered_list/listitem" mode='safety'/>
</table>
<br />
</xsl:template>
<xsl:template match='listitem' mode='safety'>
<tr>
<td>
<xsl:number level="multiple" format="1. " count="listitem" />
<xsl:value-of select="." />
</td>
</tr>
</xsl:template>
Notice that I used a mode on the template for "listitem". That is so
you can process other "listitem" elements that are not in a "safety"
block differently (in case there are any) - just use a template that
matches "listitem" but has a different or no mode.
In this example, thre is not much difference between the for-each and
the apply-templates approach. It is much like using subroutines instead
of in-line code. In-line is fine for short bits of code, subroutines are
preferred for longer or more complex sections of code.
In other cases, the fact that the context is a single node (in
for-each) vs. a node-set (in apply-templates and call-templates) can
make quite a difference.
Did this answer your question?
Cheers,
Tom P
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list