Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Формирование одностраничных документов в шаблоне XSL / 2 сообщений из 2, страница 1 из 1
24.12.2019, 09:31
    #39907373
John__Smit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование одностраничных документов в шаблоне XSL
Добрый день. Я создаю шаблон документа в файле xsl, для выгрузки его в PDF посредством редактора FOP.
В качестве источника данных выступает файл xml с набором данных по многим счетам.
Вопрос: Можно ли сделать так чтобы текст основного тела отчета <fo:region-body/> не переходил на вторую страницу (если он не помещается на первой), а обрезался? Т.е. чтобы для каждого счета у нас всегда получался одностраничный документ.
...
Рейтинг: 0 / 0
26.12.2019, 00:52
    #39908216
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование одностраничных документов в шаблоне XSL
Вообще нет, но если сильно хочется, то да.

В общем случае на основании эмпирических данных вы можете определить тег, за пределы которого разрыв документа не вылезает, печатая по счету за раз. Если разрыв попадает всегда в один и тот же тег с кучей текста, то считайте, что вам крупно повезло - вам нужно будет лишь ограничить размер текста, который будет отрезаться и попадать на первую страницу. В противном случае вам нужно будет ограничить количество потомков этого тега, которые так же будут отрезаться от коллекции.

Но это еще не всё, это должна быть вторичная трансформация. То есть нужно взять <fo> и снова прогнать через xsl, убирая лишнее.

Но и это еще не все.
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<fo>
  text
  <fo>
    text
    ----
    разрыв
    ----
    text
  </fo>
  text2
</fo>

text2 тоже нужно убирать. То есть после определения места разрыва нужно пройтись по родителям и поудалять сиблинги, находящиеся после родителей.

Теоретически все это можно устроить на xsl за две трансформации, но обрезание проще сделать через DOM после первой трансформации на том языке, из которого она запускается.
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Формирование одностраничных документов в шаблоне XSL / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]