You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by bu...@apache.org on 2003/03/10 16:47:48 UTC

DO NOT REPLY [Bug 17830] New: - FOP0.20.5rc and keep-together=>retrieve-marker doesn't work correctly

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17830>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17830

FOP0.20.5rc and keep-together=>retrieve-marker doesn't work correctly

           Summary: FOP0.20.5rc and keep-together=>retrieve-marker doesn't
                    work correctly
           Product: Fop
           Version: 0.20.5
          Platform: PC
        OS/Version: Other
            Status: NEW
          Severity: Critical
          Priority: Other
         Component: general
        AssignedTo: fop-dev@xml.apache.org
        ReportedBy: joachim.unger@softwareag.com


I use two markers in a fo:table to retrieve sums that should be place in the 
page header (region-before) and footer (region-end).

<for each account position ...>
  <table-row keep-together="always" keep-together.within-page="always">
   <fo:table-cell>
	   <fo:block text-align="center" >				
				
	<!-- 	Marker		-->
	<fo:marker marker-class-name="subtotalvalue"> 
		<xsl:call-template name="soll_haben">
		<xsl:with-param name="text">�bertrag</xsl:with-param> 
		<xsl:with-param name="amount">
			<xsl:choose>
				<xsl:when test="A_AMOUNT!=''">
				<xsl:value-of 
select="/ACCOUNTDOCUMENT/ACCOUNTSTATEMENT/TOTALSANDLIMITS/@A_SBALANCE+A_AMOUNT+s
um(preceding::A_AMOUNT[.!=''])"/>
				</xsl:when>
				<xsl:otherwise>
				<xsl:value-of 
select="/ACCOUNTDOCUMENT/ACCOUNTSTATEMENT/TOTALSANDLIMITS/@A_SBALANCE + sum
(preceding::A_AMOUNT[.!= ''])"/>
				</xsl:otherwise>
			</xsl:choose>
		</xsl:with-param>
		<xsl:with-param name="currency" 
select="/ACCOUNTDOCUMENT/ACCOUNTSTATEMENT/ACCOUNTHEADER/@CURRENCY"/>
		</xsl:call-template>
	</fo:marker>   		

	<fo:marker marker-class-name="subtotalvalueEx"> 
		<xsl:call-template name="soll_haben">
		<xsl:with-param name="text">�bertrag</xsl:with-param> 
		<xsl:with-param name="amount">
			<xsl:value-of 
select="/ACCOUNTDOCUMENT/ACCOUNTSTATEMENT/TOTALSANDLIMITS/@A_SBALANCE + sum
(preceding::A_AMOUNT[.!= ''])"/>
		</xsl:with-param>
		<xsl:with-param name="currency" 
select="/ACCOUNTDOCUMENT/ACCOUNTSTATEMENT/ACCOUNTHEADER/@CURRENCY"/>
		</xsl:call-template>
   </fo:marker>					

	... other output like A_AMOUNT ...


To get the sum for the footer:
<fo:retrieve-marker retrieve-class-name="subtotalvalue" 
  retrieve-boundary="page"
  retrieve-position="last-starting-within-page"/>         

To get the sum for the header :
<fo:retrieve-marker retrieve-class-name="subtotalvalueEx" 
  retrieve-boundary="page" 
  retrieve-position="first-starting-within-page"/>	

Some accountpositions have payment-notes, that are added as additional table-
rows :
 <fo:table-row>
  <xsl:attribute name="keep-with-previous.within-page">always</xsl:attribute> 
  <xsl:attribute name="keep-with-previous">always</xsl:attribute> 
	... payment - note ...


What happened is that FOP keeps blocks correctly together. (Accountposition and 
payment-notes should not be on separate pages)
But <fo:retrieve-marker> sometimes fetches wrong values (from previous / 
following lines).
As a result the sum on a page and their following may differ.

Is that behavior a ( known ) mistake ?

Regards 
	Joachim Unger

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
For additional commands, email: fop-dev-help@xml.apache.org