Есть ли альтернатива "keep-together= 'always '" в строке таблицы?
найдя атрибут" keep-together " и не нуждаясь в разрыве страницы внутри строки, я добавил keep-together="always"
на каждом элементе строки таблицы в моем xslt.
Есть ли лучший способ достичь того же эффекта? Это кажется немного избитым.
(ПС. Я приму " нет " в качестве ответа, если никто не даст лучшего, при условии, что будет предложено какое-то объяснение.)
4 ответов
keep-together="always"
опасно, потому что это составное свойство, которое также косвенно устанавливает keep-together.within-line="always"
(запрещение разрывов строк внутри ячейки таблицы). Вы должны использовать keep-together.within-column="always"
вместо. Но указание того, что в таблице-строке на самом деле путь. Ничего банального.
см. также:http://www.w3.org/TR/xsl11/#datatype
этот ответ решил мою проблему строки таблицы, которая текла через разрыв страницы, когда мне нужно было заблокировать таблицу вместе. я использовал <fo:table keep-together="always"></fo:table>
Спасибо.
я использовал следующие три метода, чтобы сохранить строки таблицы вместе с некоторым успехом:
сохранить весь блок вместе
<tr keep-together.within-page="always">
...
</tr>
сохранить соседние блоки вместе
<tr keep-with-next.within-page="always">
<td keep-together.within-page="always">...</td>
...
</tr>
<tr>...</tr>
<tr>...</tr>
<tr keep-with-previous.within-page="always">
<td keep-together.within-page="always">...</td>
...
</tr>
хотя вы должны быть осторожны - если строка или ячейка будет охватывать более одной страницы сгенерированного документа, вы потеряете нижнюю часть этой страницы снизу!
с помощью xsl-форматера, который обрабатывает integer keeps, вы можете использовать целочисленное значение, чтобы форматер пытался сохранить строку вместе, но сломает строку, а не запускать конец страницы. Однако этот вопрос помечен для FOP, и страница соответствия FOP в настоящее время заявляет, что она имеет ограниченную поддержку integer keeps (http://xmlgraphics.apache.org/fop/compliance.html#fo-property-keep-together), так что YMMV.