У меня есть данные, хранящиеся в структурированном XML, которые я хочу сделать более читабельными, используя XSLT (или другую альтернативу). В целевом документе должно быть много экземпляров текста, выровненных как по левому, так и по правому краю одной и той же строки, и мне нужно иметь поведение, подобное div float:
<div style="float: left;">
<p align=left>
Left text. Left text. Left text. Left text. Left text. Left text.
</p>
</div>
<div style="float: right;">
<p align=right>
Right text. Right text. Right text. Right text. Right text. Right text.
</p>
</div>
<div style="clear: both;" />
Таким образом, когда длина обоих текстов превышает ширину контейнера, записывается DIV «Левый текст», а затем DIV «Правый текст» пишущий НИЖЕ it.
Я не могу использовать XSLT для создания HTML-файла, потому что он будет использоваться в печати, и мне также нужен язык, который имеет некоторую функцию «держать вместе» при разрывах страниц (если разрыв страницы происходит в середине элемент, он должен сломаться перед элементом). Наличие таблиц, поддерживающих автоматическое изменение размеров столбцов (например, таблицы HTML), было бы огромным плюсом, но не обязательно.
Я изучал XSL-FO, но не смог найти бесплатный рендер, поддерживающий эти функции. Я думал об использовании XSL для создания файла WordML, но я не нашел никаких руководств по нему. Было бы здорово иметь документ Word (или Open Office), потому что я мог бы внести небольшие изменения. Также я рассматриваю возможность использования LaTex.
Что вы можете мне предложить?
РЕДАКТИРОВАТЬ: Я проверял некоторые функции CSS, о которых я не знал (не сталкивался с этим в течение многих лет), и у него действительно есть некоторые функции, связанные с печатью (разрыв страницы: избегать , @page и т. д.), кроме отличной поддержки поплавков и автоматического размещения таблиц. Несмотря на то, что функции печати широко не поддерживаются, Opera и IE поддерживают его, и я провел несколько тестов в IE9, и он отрисовался очень хорошо. Поэтому я попробую XSLT с HTML / CSS, поскольку в нем есть все, что мне нужно, и у меня будет более плавная кривая обучения (я уже знаю немного CSS и использую HTML годами).