Subject: Re: [xsl] Apply Template based on position or count From: "Karl J. Stubsjoen" <karl@xxxxxxxxxxxxx> Date: Thu, 5 Feb 2004 21:58:58 -0700 |
I think there might also be a <tr/> typo. But now let me ask, given the sample XML: <AAA> <BBB prop="1"></BBB> <BBB prop="2"></BBB> <BBB prop="3"></BBB> <BBB prop="4"></BBB> <BBB prop="5"></BBB> </AAA> Within a for-each... if I have the following for each loop and if construct, and for sake of discussion we are currently at: BBB prop 3: <xsl:for-each select="//BBB"> <xsl:if test="position() mod 2 = 1"> [[[ HOW TO IMPLICITLY REFERENCE "BBB prop 4" ]]] </xsl:if> </xsl:for-each> This would clean up your suggestion (i think - if this works). Karl ----- Original Message ----- From: "Kenny Akridge" <kakridge@xxxxxxxxxxxxx> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Sent: Thursday, February 05, 2004 8:21 PM Subject: RE: [xsl] Apply Template based on position or count > Sorry, missed a closing <if> there. > > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Kenny > Akridge > Sent: Thursday, February 05, 2004 10:03 PM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: RE: [xsl] Apply Template based on position or count > > I'm not exactly certain what you are trying to do, but if you want two > columns, you'll need to do something like this: > > <table width="200" border="1"> > <xsl:for-each select="//z:row"> > <xsl:if test="position() mod 2 = 1"> > <tr/> > <td valign="top"><xsl:apply-templates select="." > mode="session_info"/></td> > <td valign="top"><xsl:apply-templates select="." > mode="session_info"/></td> > </xsl:if> > <xsl:if test="position() mod 2 = 0"> > > <td valign="top"><xsl:apply-templates select="." > mode="session_info"/></td> > <td valign="top"><xsl:apply-templates select="." > mode="session_info"/></td> > <tr/> > </xsl:for-each> > > </table> > > Notic: the second select is "." How do i get the next z:row? > > >>> The next z:row will be given to you in the for-each loop. > >>> Maybe some sample xml and a simple drawing will help. > > Karl > > > ----- Original Message ----- > From: "Karl J. Stubsjoen" <karl@xxxxxxxxxxxxx> > To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> > Sent: Thursday, February 05, 2004 6:25 PM > Subject: [xsl] Apply Template based on position or count > > > > Hi there, > > > > I have a node fragment with (lets say) 20 items in it. I would like > to > > apply a template rule which matches the first 10 nodes, and then later > the > > 2nd ten. Ultimately I am trying to create two columns in my html > output. > > Now, lets say there are 25 items, so the first set would contain 13 > items > > and the 2nd set 12 items - but somehow in XSLT no that we need to > match 13 > > rows on the left so add 1 more row. > > > > So, can you apply-templates and specify some sort of [1-10] match? > > > > Karl > > > > > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > > > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Apply Template based on p, Kenny Akridge | Thread | RE: [xsl] Apply Template based on p, Kenny Akridge |
RE: [xsl] Apply Template based on p, Kenny Akridge | Date | Re: [xsl]using template match for a, Arulraj |
Month |