[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Apply Template based on position or count
<xsl:value-of select="position() + 1"/> And my tr/ wasn't a type. This is how I handle two columns. I'm still not exactly sure what you are trying to do, but the code above will reference all BBB with even numbered prop values... mod 2 != 1 essentially. -----Original Message----- From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Karl J. Stubsjoen Sent: Thursday, February 05, 2004 11:59 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: Apply Template based on position or count 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: 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: 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: 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 XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|