2015-07-17 1 views
1

Я конвертирую HTML с параграфами, за которыми следуют блок-записи в FO с использованием XSL.Как избежать разрывов страниц перед блоком в XSL-FO?

Как я могу избежать разрывов страниц между абзацами и последующим блочным комментарием?

Разбивки страниц, следующие за блоками, в порядке.

Пример:

<p> Some paragraph..</p> 
<blockquote>My reference</blockquote> 
<p> Another paragraph..</p> 
<blockquote>My reference</blockquote> 

ответ

1

Вам понадобится то, что называется keep condition между блоком, сгенерированным обычным p, и сгенерированным .

В частности, как p является универсальным тегом, я думаю, что лучший вариантом является использование атрибута keep-with-previous.within-page="always" в fo:block создаваемом для HTML элемента.

Если вы используете XSLT для создания вывода XSL-FO, вам нужно что-то вроде этого (возможно, вам нужно настроить пространство имен):

<xsl:template match="blockquote"> 
    <fo:block keep-with-previous.within-page="always" ...other attributes...> 
     <xsl:apply-templates/> 
    </fo:block> 
</xsl:template> 
0

Я думаю, что самый простой способ будет обернуть элементы, которые вы хотите сохранить вместе с fo:block, и добавить атрибут keep-with-next.within-page="always", как показано here:

<fo:block keep-with-next.within-page="always"> 
    ... content of p and blockquote elements 
</fo:block> 

 Смежные вопросы

  • Нет связанных вопросов^_^