XSL не работает и разрыв страницы не работает
Я попробовал следующие предложения, и ни один не сработал, мой <fo:block>
продолжает разделяться между двумя внутренними блоками.
- /questions/26405553/pomestite-blok-xsl-fo-na-sleduyuschuyu-stranitsu-vmesto-togo-chtobyi-razbivat-ego-po-stranitsam/26405558#26405558
- /questions/29754559/xls-fo-fop-094-ispolzovanie-soedineniya-vmeste-s-wrap-optionwrap/29754562#29754562
- http://www.antennahouse.com/support/qa/QA/2005061001.html
<fo:block keep-with-next="always" page-break-inside="avoid">
<fo:block keep-together="always">
Block # 1, a header
</fo:block>
<fo:block keep-together="always">
Block # 2, a bunch of text
</fo:block>
</fo:block>
Как я могу держать два внутренних блока вместе на странице? Я использую FO.NET, в случае, если у этого есть ограничения.
1 ответ
Я думаю, что вы должны связаться с людьми FO.NET. Тестирование этого примера с RenderX XEP и Apache FOP дает 3 страницы вывода. В 10.36 в весь текст вашего блока помещается на странице, в 10.37 в это не помещается. В обоих продуктах весь контент в вашем блоке перемещен на следующую страницу. Обратите внимание, что единственным обязательным тегом является page-break-inside="избежать", больше ничего.
<fo:flow flow-name="xsl-region-body">
<fo:block>Space</fo:block>
<fo:block space-before="10.36in">I Generate One Page</fo:block>
<fo:block page-break-inside="avoid">
<fo:block >
Block # 1, a header
</fo:block>
<fo:block>
Block # 2, a bunch of text
</fo:block>
</fo:block>
<fo:block break-before="page">I Generate Two Pages</fo:block>
<fo:block space-before="10.37in">Space</fo:block>
<fo:block page-break-inside="avoid">
<fo:block >
Block # 1, a header
</fo:block>
<fo:block>
Block # 2, a bunch of text
</fo:block>
</fo:block>
</fo:flow>
Просматривая веб-сайт FO.NET, он не обновлялся с 2009 года. Я не вижу ничего об их (отсутствии) поддержки хранилищ, но, поступая от другого поставщика XSL FO, хранилища довольно сложно сделать правильно в коде.