我有存储在结构化 XML 中的数据,我想使用 XSLT(或其他替代方法)使其更具可读性。目标文档应该有很多在同一行中左右对齐的文本实例,我需要像 div 浮动这样的行为:
<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。
我不能使用 XSLT 来制作 HTML 文件,因为它将用于打印,而且我还需要一种在分页符处具有一些“保持在一起”功能的语言(如果在元素中间发生分页符,它应该在元素之前中断)。拥有支持自动调整其列大小的表格(如 HTML 表格)将是一个巨大的优势,但不是必需的。
我正在研究 XSL-FO,但找不到支持这些功能的免费渲染器。我考虑过使用 XSL 制作 WordML 文件,但我没有找到任何关于它的教程。拥有一个 Word(或 Open Office)文档会很棒,因为我可以进行细微的调整。另外,我正在考虑使用 LaTex。
你能给我什么建议?
编辑:我正在检查一些我不知道的 CSS 功能(多年来没有弄乱它),它确实有一些与打印相关的功能(page-break-inside:avoid、@page 等)除了有一个对浮动和表格自动布局的出色支持。尽管打印功能没有得到广泛支持,但 Opera 和 IE 确实支持它,我在 IE9 中进行了一些测试,它的渲染效果非常好。所以我将尝试使用 HTML/CSS 的 XSLT,因为它拥有我需要的一切,并且学习曲线更流畅(我已经了解了一些 CSS,并且已经使用 HTML 多年)。