Subject: RE: [xsl] more on Using apply-templates instead of for-each? From: "Passin, Tom" <tpassin@xxxxxxxxxxxx> Date: Tue, 15 Apr 2003 14:50:35 -0400 |
[ 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] more on Using apply-templates, Kathy Burke | Thread | RE: [xsl] more on Using apply-templ, Kathy Burke |
[xsl] Variable creation and scoping, Andrew Kirkpatrick | Date | Re: [xsl] xsl:if giving me "Invalid, James J. Ramsey |
Month |