I am encountering infinite loop in FOP and was wondering if there is any solution for it? The "remark" value is supposed to store up to 4000 characters. And I have to keep them together in a page if the size can fit into the available space for the current page. If the block size is bigger than the available space then supposed to allow the whole block of text to move to the next page. However, what we are encountering is that the entire block size could be larger than can be contained in a single page and we encountered infinite loop. Is there anyway to circumvent the occuring of the infinite loop and yet allow to keep the entire block text together when it can fit into a page size and allow it to overflow into subsequent pages if the block text exceeds a page size ? Please help. Any help is greatly appreciated. Following is a portion of the template we using <xsl:template name="displayRemark"> <fo:table-row keep-together="always"> <fo:table-row> <fo:table-cell> <xsl:if test="string-length(remark) > 0"> <xsl:call-template name="remarkstart"/> <fo:table width="100%" border-width="0.1pt"> <fo:table-column column-width="0.3cm"/> <fo:table-column column-width="18.6cm"/> <fo:table-body> <fo:table-row> <fo:table-cell> <fo:block>*</fo:block> </fo:table-cell> <fo:table-cell> <fo:block wrap-option="wrap" white-space-treatment="preserve" white-space- collapse="false"> <xsl:apply-templates select="remark"/> </fo:block> </fo:table-cell> </fo:table-row> </fo:table-body></fo:table> </xsl:if> </fo:table-cell></fo:table-row> </xsl:template>
Please use the fop-user list to ask questions. FOP currently can't break blocks larger than a page which should be kept togehter. You can try to solve the problem at the XSLT level, by attempting to split the block in a meaningful way.
batch transition to closed remaining pre-FOP1.0 resolved bugs