Subject: RE: [xsl] XSL N-up like Reports From: Jarno.Elovirta@xxxxxxxxx Date: Fri, 14 Feb 2003 09:41:34 +0200 |
Hi, > I need to develop N-up reports using XSL for XML data like this. This > includes paging. > > Page 1 for provider "Z" > ~~~~~~~~~~~~~~~~~~~~~~~ > > +---------+ > | 1 | 4 | > |--------+ > | 2 | 5 | > |---------+ > | 3 | 6 | > +---------+ > > Page 2 (contd.) for provider "Z" > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > +---------+ > | 7 | 10 | > |---------+ > | 8 | 11 | > |---------+ > | 9 | | > +---------+ > > Page 2 for provider "Y" > ~~~~~~~~~~~~~~~~~~~~~~~~ > +-----+ > | 12 | > |-----+ > | 13 | > +-----+ e.g. <xsl:key name="provider" match="roaming" use="@provider" /> <xsl:template match="billing"> <xsl:for-each select="roaming[generate-id(.) = generate-id(key('provider', @provider))]"> <xsl:for-each select="key('provider', @provider)[position() mod 6 = 1]"> <table> <caption> <xsl:text/>Page <xsl:value-of select="position()" /> <xsl:if test="not(position() = 1)"> (contd.)</xsl:if> <xsl:text/> for provider "<xsl:value-of select="@provider" />"<xsl:text/> </caption> <tbody> <xsl:for-each select="self::* | following-sibling::roaming[position() < 7][position() mod 2 = 1]"> <tr> <td> <xsl:value-of select="." /> </td> <xsl:if test="following-sibling::roaming[position() = 3]"> <td> <xsl:value-of select="following-sibling::roaming[position() = 3]" /> </td> </xsl:if> </tr> </xsl:for-each> </tbody> </table> </xsl:for-each> </xsl:for-each> </xsl:template> Hope this helps. Launch auto-documentation daemon and all that, Jarno - SITD: Hurt (Club Version) XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] XSL N-up like Reports, Rakesh | Thread | [xsl] Re: How can I translate a sin, Dimitre Novatchev |
[xsl] Re: How can I translate a sin, Dimitre Novatchev | Date | RE: [xsl] converting xsl-wd to xsl1, bryan |
Month |