Subject: RE: [xsl] predicate inside a for-each From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Sun, 1 Jan 2006 17:44:25 -0000 |
Do <xsl:for-each select="head/row"> <xsl:variable name="ROWPOSITION" select="position()"/> then subsequently use $ROWPOSITION Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: yaXay [mailto:yaXay@xxxxxxx] > Sent: 01 January 2006 15:51 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] predicate inside a for-each > > Hi, > > imagine the following scenario: > > XML: > <table> > <head> > <row>row 1</row> > <row>row 2</row> > </head> > <body> > <field>field 1</field> > <field>field 2</field> > <field>field 3</field> > <field>field 4</field> > </body> > </table> > > I would like to generate a XHTML table looking (a bit) like this: > row 1 field 1 field3 > row 2 field 2 field4 > > However, I ran into a brick wall: > <xsl:template match="table"> > <table> > <xsl:for-each select="head/row"> > <tr> > <td><strong><xsl:value-of select="."/></strong></td> > <xsl:for-each select="../../body/field[position() mod > count(../../head/row) = ROWPOSITION]"> > <td><xsl:value-of > select="position()"/>-<xsl:value-of select="../../@row-count"/></td> > </xsl:for-each> > </tr> > </xsl:for-each> > </table> > </xsl:template> > > ROWPOSITION needs to be the position of the row, which is > processed by > the outer for-each. However, I can't think of any XPath expression to > get there.. > Of course I could call another template and pass the row > position as a > parameter, but I'd like to avoid that.. > > Any suggestions?? > > Thanks, > Ben
Current Thread |
---|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] predicate inside a for-ea, yaXay | Thread | Re: [xsl] How to fetch desired data, Florent Georges |
Re: [xsl] predicate inside a for-ea, yaXay | Date | RE: [xsl] extended xhtml attribute , Michael Kay |
Month |