Altova Mailing List Archives>Archive Index >microsoft.public.xsl Archive Home >Recent entries >Thread Prev - Re: How to print xml/xsl data into another page with fixed header >Thread Next - Re: How to print xml/xsl data into another page with fixed header Re: How to print xml/xsl data into another page with fixed headerTo: NULL Date: 6/15/2009 12:47:00 AM Yeah i know and thats what 'm trying to achieve:
Below is my xsl
As you can see 'm looking at the positions of the row and using a page break
But my problem is i have 2 nodes
i want to use
invoice/detail/outright and
invoice/detail/plans
How can i loop through the node invoice/detail/outright if possible break
out and then start with invoice/detail/plans
Thanks
<xsl:for-each select="invoice/detail/outright">
<table class="tabledetails" cellspacing="0" style="table-layout:fixed">
<tr align="right">
<td align="left">
<xsl:value-of select="qty"/>
</td>
<td align="left">
<xsl:value-of select="product"/>
</td>
<td>
<xsl:value-of select="unit-price"/>
</td>
<td>
<xsl:value-of select="line-amt-ex-gst"/>
</td>
<td>
<xsl:value-of select="line-gst-amt"/>
</td>
<td>
<xsl:value-of select="line-amt-inc-gst"/>
</td>
</tr>
</table>
<-- need to start the invoice/detail/plans node here using for each-->
<xsl:if test="(position() mod 26) = 0 ">
<!--40 rows per page-->
<xsl:call-template name="Filler">
<xsl:with-param name="fillercount" select="1" />
</xsl:call-template>
<!--
<xsl:copy-of select="$blank"/>
-->
<xsl:copy-of select="$ReportFooter" />
<br class="pagebreak" />
<xsl:copy-of select="$ReportHeader" />
<xsl:call-template name="Filler">
<xsl:with-param name="fillercount" select="1" />
</xsl:call-template>
<xsl:copy-of select="$OrderRecipient"/>
<xsl:call-template name="Filler">
<xsl:with-param name="fillercount" select="1" />
</xsl:call-template>
<xsl:copy-of select="$OrderHeader"/>
<xsl:call-template name="Filler">
<xsl:with-param name="fillercount" select="1" />
</xsl:call-template>
<xsl:copy-of select="$OrderRowsHeader"/>
</xsl:if>
</xsl:for-each>
<!--Filler -->
<xsl:choose>
<!-- case of only one page-->
<xsl:when test="count(invoice/detail/outright) <= 26">
<xsl:call-template name="Filler">
<xsl:with-param name="fillercount" select="26 -
(count(invoice/detail/outright))"/>
</xsl:call-template>
</xsl:when>
<!-- case of more than one page-->
<xsl:otherwise>
<xsl:call-template name="Filler">
<!--(Rows per page = 40) - (Rows in current page) - (Total section
rows = 1 ) + (Filler Row = 1)-->
<xsl:with-param name="fillercount" select="26 - ( (
count(invoice/detail/outright)-26 ) mod 26) - 3 + 1"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
<!--End Filler -->
| ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
