Can a table's row go to the page footer when it has a page break?

124 Views Asked by At

I have a table with svg arrows that indicate the next block of a question. The problem is when the table break in the middle of the page and the arrow stop in same point. I need that the table row go to the page footer.

Is that possible?

Thanks

Table row break in middle of the page

enter image description here

<fo:table inline-progression-dimension="auto" table-layout="auto" width="106mm">
                                <fo:table-column column-width="5%"/>
                                <fo:table-column column-width="74%"/>
                                <fo:table-column column-width="16%"/>
                                <fo:table-column column-width="3%"/>
                                <fo:table-column column-width="2%"/>
                                <fo:table-footer>
                                    <fo:table-row keep-with-previous.within-page="always">
                                        <fo:table-cell/>
                                        <fo:table-cell/>
                                        <fo:table-cell/>
                                        <fo:table-cell>
                                            <fo:block left="2.25mm" position="relative" top="-0.7mm">
                                                <fo:retrieve-table-marker retrieve-class-name="continuedSecondArrow" retrieve-position-within-table="last-ending-within-page"/>
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell>
                                            <fo:block left="1.21mm" position="relative" top="-0.7mm">
                                                <fo:retrieve-table-marker retrieve-class-name="continuedArrow" retrieve-position-within-table="last-ending-within-page"/>
                                            </fo:block>
                                        </fo:table-cell>
                                    </fo:table-row>
                                </fo:table-footer>
                                <fo:table-body>
                                    <fo:table-row>
                                        <fo:table-cell border="1.8PT solid" display-align="center" font-size="16pt" keep-together.within-page="always" number-columns-spanned="2" number-rows-spanned="2" padding-bottom="1.5mm" padding-left="1mm" padding-top="1.5mm">
                                            <fo:wrapper>
                                                <fo:marker marker-class-name="continuedArrow">
                                                    <fo:instream-foreign-object>
                                                        <svg:svg height="6.7mm" width="2mm">
                                                            <svg:path d="M 2.1634084,0 2.1462333,10 0,10 3.4375,27.5312 6.90625,10 4.6604758,10.02932 4.7484349,-0.0293197 Z" style="black"/>
                                                        </svg:svg>
                                                    </fo:instream-foreign-object>
                                                </fo:marker>
                                            </fo:wrapper>
                                            <fo:block hyphenate="false" keep-together.within-page="10">
                                                <fo:wrapper>
                                                    <fo:marker marker-class-name="bottomContinued">
                                                        CLEFIEJOD...
                                                    </fo:marker>
                                                </fo:wrapper>
                                                LE GRLJED?
                                                <fo:wrapper>
                                                    <fo:marker marker-class-name="topContinued">
                                                        ...CLEFIEJOD
                                                    </fo:marker>
                                                </fo:wrapper>
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell border-bottom="1.8PT solid black" padding-left="1.90mm">
                                            <fo:block font-size="10pt" font-weight="bold">
                                                No
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell/>
                                        <fo:table-cell/>
                                    </fo:table-row>
                                    <fo:table-row>
                                        <fo:table-cell padding-left="2mm">
                                            <fo:block font-size="6pt" font-weight="bold">
                                                #S1-
                                                <fo:page-number-citation-last ref-id="REF-0096579-CDT-6ADJWTA"/>
                                                #
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell border-top="1.8PT solid black"/>
                                        <fo:table-cell border-right="1.8PT solid black" border-top="1.8PT solid black"/>
                                    </fo:table-row>
                                    <fo:table-row keep-with-next="10" keep-with-previous.within-page="always">
                                        <fo:table-cell padding-left="3mm">
                                            <fo:block left="-0.57mm" position="relative" top="-0.68mm">
                                                <fo:instream-foreign-object>
                                                    <svg:svg height="6.7mm" width="2mm">
                                                        <svg:path d="M 2.1634084,0 2.1462333,10 0,10 3.4375,27.5312 6.90625,10 4.6604758,10.02932 4.7484349,-0.0293197 Z" style="black"/>
                                                    </svg:svg>
                                                </fo:instream-foreign-object>
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell padding-left="1mm" padding-top="2mm">
                                            <fo:block-container height="10pt">
                                                <fo:block font-size="10pt" font-weight="bold">
                                                    Yes
                                                </fo:block>
                                            </fo:block-container>
                                        </fo:table-cell>
                                        <fo:table-cell/>
                                        <fo:table-cell/>
                                        <fo:table-cell border-right="1.8PT solid black"/>
                                    </fo:table-row>
                                    <fo:table-row>
                                        <fo:table-cell number-columns-spanned="4" padding-left="3mm">
                                            <fo:block>
                                                <fo:block-container>
                                                    <fo:block-container keep-with-next="always" margin-left="1mm" margin-right="1mm">
                                                        <fo:block-container margin="0mm">
                                                            <fo:block font-size="16pt" font-weight="bold" hyphenate="false" keep-with-next="always" text-align="justify">
                                                                Aftpr CRG ATF (TWD) TIROX PL ARM mpsseqp is aisvleypa eha tgp essubietpa Cerqu 
                                                                Tirp Ovtihqoisgihq Bottuh is illomihetpa:
                                                            </fo:block>
                                                        </fo:block-container>
                                                    </fo:block-container>
                                                    <fo:block-container margin-left="2mm" margin-right="2mm">
                                                        <fo:block-container margin="0mm">
                                                            <fo:block keep-together.within-page="10">
                                                                <fo:table font-size="16pt" width="100%">
                                                                    <fo:table-column column-number="1" column-width="60%"/>
                                                                    <fo:table-column column-number="2" column-width="40%"/>
                                                                    <fo:table-body>
                                                                        <fo:table-row keep-together.within-page="always" keep-with-next="always">
                                                                            <fo:table-cell padding-bottom="1mm" padding-top="1mm">
                                                                                <fo:block margin-right="0.1cm" start-indent="0.1em" text-align-last="justify" text-align="left" text-indent="-0.1em">
                                                                                    <fo:block hyphenate="false" keep-together.within-page="10">
                                                                                        <fo:wrapper>
                                                                                            <fo:marker marker-class-name="bottomContinued">
                                                                                                CLEFIEJOD...
                                                                                            </fo:marker>
                                                                                        </fo:wrapper>
                                                                                        <fo:block text-align-last="justify">
                                                                                            <fo:inline keep-with-next.within-line="always">
                                                                                                Assubietpa Cerqu Tirp Ovtihqoisgihq Bottuh
                                                                                            </fo:inline>
                                                                                            <fo:leader leader-length.minimum="5mm" leader-pattern="dots"/>
                                                                                        </fo:block>
                                                                                        <fo:wrapper>
                                                                                            <fo:marker marker-class-name="topContinued">
                                                                                                ...CLEFIEJOD
                                                                                            </fo:marker>
                                                                                        </fo:wrapper>
                                                                                    </fo:block>
                                                                                </fo:block>
                                                                            </fo:table-cell>
                                                                            <fo:table-cell/>
                                                                        </fo:table-row>
                                                                        <fo:table-row keep-together.within-page="always" keep-with-next="always">
                                                                            <fo:table-cell/>
                                                                            <fo:table-cell padding-before="-1.32em">
                                                                                <fo:block display-align="after" start-indent="0.1em" text-indent="-0.1em">
                                                                                    <fo:block hyphenate="false" keep-together.within-page="10">
                                                                                        <fo:wrapper>
                                                                                            <fo:marker marker-class-name="bottomContinued">
                                                                                                CLEFIEJOD...
                                                                                            </fo:marker>
                                                                                        </fo:wrapper>
                                                                                        <fo:block keep-together.within-page="always" vertical-align="bottom">
                                                                                            AS ROQJIROD
                                                                                        </fo:block>
                                                                                        <fo:wrapper>
                                                                                            <fo:marker marker-class-name="topContinued">
                                                                                                ...CLEFIEJOD
                                                                                            </fo:marker>
                                                                                        </fo:wrapper>
                                                                                    </fo:block>
                                                                                </fo:block>
                                                                            </fo:table-cell>
                                                                        </fo:table-row>
                                                                    </fo:table-body>
                                                                </fo:table>
                                                            </fo:block>
                                                        </fo:block-container>
                                                    </fo:block-container>
                                                </fo:block-container>
                                                <fo:block font-size="16pt" keep-together.within-page="always">
                                                    <fo:table>
                                                        <fo:table-column column-width="19mm "/>
                                                        <fo:table-column/>
                                                        <fo:table-body>
                                                            <fo:table-row>
                                                                <fo:table-cell padding-bottom="1.5mm" padding-top="1.5mm">
                                                                    <fo:block font-weight="bold">
                                                                        <fo:inline>
                                                                            ELFO
                                                                        </fo:inline>
                                                                        :
                                                                    </fo:block>
                                                                </fo:table-cell>
                                                                <fo:table-cell padding-bottom="1.5mm" padding-top="1.5mm">
                                                                    <fo:block text-align="justify">
                                                                        <fo:block font-size="16pt" keep-together.within-page="always">
                                                                            <fo:table>
                                                                                <fo:table-column column-width="0mm"/>
                                                                                <fo:table-column column-width="5mm"/>
                                                                                <fo:table-column/>
                                                                                <fo:table-body>
                                                                                    <fo:table-row>
                                                                                        <fo:table-cell/>
                                                                                        <fo:table-cell padding-bottom="1mm">
                                                                                            <fo:block text-align="left">&#150;</fo:block>
                                                                                        </fo:table-cell>
                                                                                        <fo:table-cell padding-bottom="1mm">
                                                                                            <fo:block>
                                                                                                <fo:block hyphenate="false" keep-together.within-page="10">
                                                                                                    <fo:wrapper>
                                                                                                        <fo:marker marker-class-name="bottomContinued">
                                                                                                            CLEFIEJOD...
                                                                                                        </fo:marker>
                                                                                                    </fo:wrapper>
                                                                                                    <fo:block keep-together.within-page="always" text-align="justify">
                                                                                                        Aazisp Gruoha Crpw uf vussiclp Heluh zevurs eftpr aisbgerqihq tgp pvtihqoisgihq 
                                                                                                        cuttlp.
                                                                                                    </fo:block>
                                                                                                    <fo:wrapper>
                                                                                                        <fo:marker marker-class-name="topContinued">
                                                                                                            ...CLEFIEJOD
                                                                                                        </fo:marker>
                                                                                                    </fo:wrapper>
                                                                                                </fo:block>
                                                                                            </fo:block>
                                                                                        </fo:table-cell>
                                                                                    </fo:table-row>
                                                                                </fo:table-body>
                                                                            </fo:table>
                                                                            <fo:table>
                                                                                <fo:table-column column-width="0mm"/>
                                                                                <fo:table-column column-width="5mm"/>
                                                                                <fo:table-column/>
                                                                                <fo:table-body>
                                                                                    <fo:table-row>
                                                                                        <fo:table-cell/>
                                                                                        <fo:table-cell padding-bottom="1mm">
                                                                                            <fo:block text-align="left">
                                                                                                &#150;
                                                                                            </fo:block>
                                                                                        </fo:table-cell>
                                                                                        <fo:table-cell padding-bottom="1mm">
                                                                                            <fo:block>
                                                                                                <fo:block hyphenate="false" keep-together.within-page="10">
                                                                                                    <fo:wrapper>
                                                                                                        <fo:marker marker-class-name="bottomContinued">
                                                                                                            CLEFIEJOD...
                                                                                                        </fo:marker>
                                                                                                    </fo:wrapper>
                                                                                                    <fo:block keep-together.within-page="always" text-align="justify">
                                                                                                        Aftpr tgp cuttlp aisbgerqp eha witg tgp eirvlehp uh qruoha, tgp mpsseqp CRG TWD 
                                                                                                        (ATF) TIRO SYS TAIP will evvper.
                                                                                                    </fo:block>
                                                                                                    <fo:wrapper>
                                                                                                        <fo:marker marker-class-name="topContinued">
                                                                                                            ...CLEFIEJOD
                                                                                                        </fo:marker>
                                                                                                    </fo:wrapper>
                                                                                                </fo:block>
                                                                                            </fo:block>
                                                                                        </fo:table-cell>
                                                                                    </fo:table-row>
                                                                                </fo:table-body>
                                                                            </fo:table>
                                                                        </fo:block>
                                                                    </fo:block>
                                                                </fo:table-cell>
                                                            </fo:table-row>
                                                        </fo:table-body>
                                                    </fo:table>
                                                </fo:block>
                                            </fo:block>
                                            <fo:block keep-with-previous.within-page="always" padding-bottom="2mm" padding-top="2mm">
                                                <fo:inline axf:border-radius="200pt" background-color="black" border="1pt solid black" color="white" font-weight="bold" padding-bottom="1mm" padding-left="1mm" padding-right="1mm" padding-top="1mm" text-align="center">
                                                    OED
                                                </fo:inline>
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell border-right="1.8PT solid black"/>
                                    </fo:table-row>
                                    <fo:table-row keep-with-previous.within-page="always">
                                        <fo:table-cell/>
                                        <fo:table-cell border-bottom="1.8PT solid black" number-columns-spanned="3">
                                            <fo:wrapper>
                                                <fo:marker marker-class-name="bottomContinued">
                                                    CLEFIEJOD...
                                                </fo:marker>
                                            </fo:wrapper>
                                        </fo:table-cell>
                                        <fo:table-cell border-bottom="1.8PT solid black" border-right="1.8PT solid black" height="3mm">
                                            <fo:wrapper>
                                                <fo:marker marker-class-name="topContinued">
                                                    ...CLEFIEJOD
                                                </fo:marker>
                                            </fo:wrapper>
                                        </fo:table-cell>
                                    </fo:table-row>
                                    <fo:table-row keep-with-previous.within-page="always">
                                        <fo:table-cell/>
                                        <fo:table-cell>
                                            <fo:block left="-0.57mm" position="relative" top="-0.68mm">
                                                <fo:instream-foreign-object>
                                                    <svg:svg height="6.7mm" width="2mm">
                                                        <svg:path d="M 2.1634084,0 2.1462333,10 0,10 3.4375,27.5312 6.90625,10 4.6604758,10.02932 4.7484349,-0.0293197 Z" style="black"/>
                                                    </svg:svg>
                                                </fo:instream-foreign-object>
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell/>
                                        <fo:table-cell>
                                            <fo:wrapper>
                                                <fo:marker marker-class-name="continuedArrow"/>
                                            </fo:wrapper>
                                        </fo:table-cell>
                                    </fo:table-row>
                                </fo:table-body>
                            </fo:table>
1

There are 1 best solutions below

1
On

Table cells generally take as much space as they need but no more, so they generally don't extend to the bottom of the page when the table breaks over a page.

  1. You may be able to do things with change-bars to put a change-bar down the side and have a second change-bar with the graphic for the arrowhead.

  2. You may be able to have a right-hand column that contains a graphic for a page-height arrow and rely on overflow to truncate the graphic to the right height. You'd have to work with max-height or block-progression-dimension.maximum to get the table cell to extend to the bottom of the page. The right-angle bend in the arrow could be difficult, but you might be able to do that by putting a small graphic for the right-angle in a separate table cell.

  3. You might be able to use an fo:leader inside an fo:block-container or fo:inline-container that has reference-orientation="270". The leader pattern (and content of the fo:leader) would be a graphic for a segment of the line of the arrow. The fo:leader would be followed by a graphic for the arrowhead.

  4. You may be able to use fo:marker and fo:retrieve-table-marker to put a graphic for the arrowhead in the fo:table-footer only when required. The fo:table-cell (or fo:table-row) that needs the arrowhead would set the fo:marker, and the fo:table-cell in the following fo:table-row would set an emptyfo:marker` so that the arrowhead isn't repeated.

  5. You may be able to float an image for the arrow to the right, but getting it to be the correct length could be tricky.

If you can provide some sample FO markup, we may be able to provide a more specific answer.