Тело области XSLT с несколькими столбцами, принудительное начало блока с нового столбца

avatar
samp17
1 июля 2021 в 16:32
36
1
0

Я использую XSLT для создания шаблонов для создания PDF. Я хочу, чтобы моя альбомная страница была разделена на три столбца, которые я использую:

<fo:layout-master-set>
     <fo:simple-page-master master-name="page" page-height="210mm" page-width="297mm"
     margin="5mm 25mm 5mm 25mm">
     <fo:region-body column-count="3" margin="30mm 0mm 30mm 0mm"/>
     </fo:simple-page-master>
</fo:layout-master-set>

В одном из моих шаблонов есть функция for-each для записи блока. Когда я создаю свой PDF-файл, это работает, и мои данные распределяются по нескольким столбцам. Однако из-за характера моих блоков это выглядит беспорядочно.

Есть ли способ, чтобы каждый раздел "для каждого" мог начинаться с нового столбца? Я не могу найти способ сделать это.

Источник
zx485
1 июля 2021 в 21:56
0

Можете ли вы привести минимальный воспроизводимый пример?

Ответы (1)

avatar
Tony Graham
1 июля 2021 в 22:48
1

Используйте break-before="column" (см. https://www.w3.org/TR/xsl11/#break-before) в первом блоке. Что-то вроде:

<fo:block>
  <xsl:if test="position() = 1">
    <xsl:attribute name="break-before">column</xsl:attribute>
  </xsl:if>
  ...