XSL FO продолжение/бегущие таблицы, маркеры в нижнем колонтитуле

Я использую маркеры и маркер извлечения таблицы в XSL-FO для создания нижних колонтитулов в преобразовании PDF.

Мне нужно решение, в котором таблица с одним столбцом имеет «чистый» нижний колонтитул, а таблица с несколькими столбцами имеет нижний колонтитул с добавленным текстом («продолжение») перед каждым разрывом столбца. Добавленный текст следует применять только перед разрывом страницы, ЕСЛИ таблица разрывается между столбцами.

Мой текущий код почти делает это. Это хорошо работает для таблиц с несколькими столбцами, но для таблиц с одним столбцом добавляется «продолженный» текст, даже если таблица не разрывается.

Код:

  <fo:table-body>
    <fo:table-row>
      <fo:table-cell>
        <fo:block>
          <fo:marker marker-class-name="footer-continued">(continued)</fo:marker>
        </fo:block>
        <fo:block>
          <xsl:text>Contents</xsl:text>
        </fo:block>
        <fo:block>
          <fo:marker marker-class-name="footer-continued"></fo:marker>
        </fo:block>
      </fo:table-cell>
    </fo:table-row>
  </fo:table-body>

  <fo:table-footer>
    <fo:table-row>
      <fo:table-cell>
        <fo:block>
          <fo:retrieve-table-marker retrieve-class-name="footer-continued" 
                                    retrieve-position="first-including-carryover"
                                    retrieve-boundary-within-table="table"/>
        </fo:block>
      </fo:table-cell>
    </fo:table-row>
  </fo:table-footer>

person Joneth    schedule 30.11.2011    source источник


Ответы (1)


Хорошо, это сработало для меня:

я поменял местами

retrieve-position="first-including-carryover"

за

retrieve-position-within-table="last-ending-within-page"
person Joneth    schedule 01.12.2011
comment
Вы используете антенный домик? Потому что я использую fop, и я всегда получаю сообщение об ошибке - person bvb1909; 17.06.2015
comment
ОП, вероятно, использовал XslFormatter; в то время FOP не поддерживал элементы fo:retrieve-table-marker, но теперь поддерживает их (версия FOP ›= 2.0), хотя и с некоторыми ограничениями. - person lfurini; 27.06.2015