1

I'm using xslt 1.0

I have a header which should be updated with some info from one of the recursive methods which creates a table inside a page sequence (for ex. node id). sometimes the info from the table should be divided between two pages (the content should flow to a table in the next page). when the flow occurs the marker displays the wrong info. here is how I defined the marker:

<fo:retrieve-marker retrieve-class-name="stepID" retrieve-boundary="page-sequence"/>

here is how i set the marker:

<fo:marker retrieve-boundary="page" marker-class-name="stepID" retrieve-position="first-starting-within-page"><xsl:value-of select="$curStepCatId"/></fo:marker>

I'm not sure what's causing that error, i have tried different retrieve-boundary, and different retrieve-position, but all failed. If i use a message to display the value before setting it with the retrieve i do get the right value.

when referring to wrong value, i mean it displays the next node's id and not the current.

btw, I'm not setting page breaks in the xslt at all.

here is how the flow goes:

  • page sequence
    • call template
      • call template - recursive
        • call template - optional (sometimes it does and sometimes it doesn't)
        • call template - recursive
          • call template - recursive
            • call template
            • call template - recursive
            • call template - recursive
            • block which contains the marker
            • block which which contains table which calls template recursively.
            • block which which contains table which calls template recursively.

my problem lays in the pages which contain the tables...if the table is in 1 page, than everything is alright, but if it flows to another page, the marker shows incorrect values. i tried to move the block which contains the marker to be the last block...didn't help

4

0 回答 0