- From: Tanzila Mohammad <tmohammad@entier-solutions.com>
- Date: Wed, 28 Nov 2001 13:15:20 -0000
- To: <www-xsl-fo@w3.org>
Help please - I have been working with the attribute keep-with-next. I have used it as illustrated in the template below using the following XML: XML: <faostat:table> ..... <faostat:table-row type="G"> <faostat:row-title lang="EN">AFRICA</faostat:row-title> </faostat:table-row> <faostat:table-row type="F"> <faostat:row-title lang="EN">Nitrogenous Fertilizers</faostat:row-title> <faostat:row-value> ....</faostat:row-value> <faostat:row-symb> </faostat:row-symb> .... </faostat:table-row> <faostat:table-row type="D"> <faostat:row-title lang="EN">ALGERIA</faostat:row-title> </faostat:table-row> <faostat:table-row type="F"> <faostat:row-title lang="EN">Nitrogenous Fertilizers</faostat:row-title> <faostat:row-value> 82282096</faostat:row-value> <faostat:row-symb> </faostat:row-symb> ....... </faostat:table-row> <faostat:table-row type="FT"> <faostat:row-title lang="EN">Ammonium Nitrate</faostat:row-title> <faostat:row-value> 82282096</faostat:row-value> <faostat:row-symb> </faostat:row-symb> ....... </faostat:table-row> <faostat:table-row type="FT"> <faostat:row-title lang="EN">Other Complex Fert (N)</faostat:row-title> <faostat:row-value>65757575</faostat:row-value> <faostat:row-symb> </faostat:row-symb> ....... </faostat:table> My Output: Page 1 AFRICA Nitrogenous Fertilizers Page 2: ALGERIA Nitrogenous Fertilizers Ammonium Nitrate Other Complex Fert (N) It appears that Algeria's details were pushed onto page 2 as desired but the indentation of the Country name is missing. It makes me think that the method I employed was incorrect. My Desired Output: Page 1 AFRICA Nitrogenous Fertilizers Page 2: ALGERIA <!--indented--> Nitrogenous Fertilizers Ammonium Nitrate Other Complex Fert (N) TEMPLATE (within XSL) used to <xsl:template name="bodyContents"> <fo:flow flow-name="xsl-region-body" font-size="6px" font-family="Courier" font-weight="bold" space-before.optimum="10pt"> <fo:table > <fo:table-column column-width="3.5cm"/> <fo:table-column column-width="1.25cm" number-columns-repeated="12"/> <fo:table-body> <xsl:for-each select="./faostat:table/faostat:table-row"> <fo:table-row keep-with-next="always"> <!-- Keep-with used on table row--> <fo:table-cell> <xsl:choose> <xsl:when test="./@type='FT' or ./@type='G' or ./@type='D'"> <xsl:if test="./@type='G'"> <fo:block font-size="7px" text-indent="12pt" font-weight="bold" space-after.optimum="0.5pt"> <xsl:value-of select="./faostat:row-title"/> </fo:block> </xsl:if> <xsl:if test="./@type='D'"> <fo:block font-size="7px" text-indent="12pt" font-weight="bold" space-after.optimum="0.5pt"> <xsl:value-of select="./faostat:row-title"/> </fo:block> </xsl:if> <xsl:if test="./@type='FT'"> <fo:block text-indent="8pt" font-weight="bold" space-after.optimum="0.5pt"> <xsl:value-of select="./faostat:row-title"/> </fo:block> </xsl:if> </xsl:when> <xsl:otherwise> <fo:block text-align="start" font-weight="bold" space-after.optimum="0.5pt"> <xsl:value-of select="./faostat:row-title"/> </fo:block> </xsl:otherwise> </xsl:choose> </fo:table-cell> <xsl:for-each select="./faostat:row-value"> <fo:table-cell> <fo:block text-align="center" font-weight="bold" space-after.optimum="0.5pt"> <xsl:value-of select="."/> <xsl:value-of select="following-sibling::faostat:row-symb"/> </fo:block> </fo:table-cell> </xsl:for-each> </fo:table-row> <!--If statements to control the spaces between types --> <xsl:if test="./@type='F' and following-sibling::faostat:table-row[1]/@type='D'"> <fo:table-row> <fo:table-cell> <fo:block space-after.optimum="10pt"> </fo:block> </fo:table-cell> </fo:table-row> </xsl:if> <xsl:if test="./@type='FT' and following-sibling::faostat:table-row[1]/@type='D'"> <fo:table-row> <fo:table-cell> <fo:block space-after.optimum="10pt"> </fo:block> </fo:table-cell> </fo:table-row> </xsl:if> <xsl:if test="./@type='F' and following-sibling::faostat:table-row[1]/@type='G'"> <fo:table-row> <fo:table-cell> <fo:block space-after.optimum="10pt"> </fo:block> </fo:table-cell> </fo:table-row> </xsl:if> <xsl:if test="./@type='FT' and following-sibling::faostat:table-row[1]/@type='G'"> <fo:table-row> <fo:table-cell> <fo:block space-after.optimum="10pt"> </fo:block> </fo:table-cell> </fo:table-row> </xsl:if> </xsl:for-each> </fo:table-body> </fo:table> </fo:flow> </xsl:template> Thanks. Tanz
Received on Wednesday, 28 November 2001 08:14:48 UTC