gpt4 book ai didi

xslt - 带有 float div 元素的格式化语言

转载 作者:行者123 更新时间:2023-11-28 00:25:28 26 4
gpt4 key购买 nike

我将数据存储在结构化 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;" />

这样,当两者的文本长度都大于容器宽度时,“Left text”DIV 被写入,然后“Right text”DIV 被写入 BELOW

我不能使用 XSLT 制作 HTML 文件,因为它将用于打印,而且我还需要一种在分页符处具有一些“保持在一起”功能的语言(如果分页符发生在元素,它应该在元素之前中断)。拥有支持自动调整其列大小的表格(如 HTML 表格)将是一个巨大的优势,但不是必需的。

我正在研究 XSL-FO,但找不到支持这些功能的免费渲染器。我想过用 XSL 来制作一个 WordML 文件,但是我还没有找到任何关于它的教程。有一个 Word(或 Open Office)文档会很棒,因为我可以做一些小的调整。另外,我正在考虑使用 LaTex。

你能给我什么建议?

编辑: 我正在检查一些我不知道的 CSS 特性(多年来没有弄乱过它),它确实有一些与打印相关的特性(page-break-inside: avoid, @page, etc) 除了对表格的 float 和自动布局有很好的支持。尽管打印功能没有得到广泛支持,但 Opera 和 IE 确实支持它,我在 IE9 中运行了一些测试,它呈现得非常好。因此,我将尝试将 XSLT 与 HTML/CSS 结合使用,因为它具有我需要的一切,并且学习曲线更平滑(我已经了解一些 CSS 并且使用 HTML 多年)。

最佳答案

我认为您应该通过使用一些众所周知的 XML 标准架构(如 DITA 或 DOCBOOK)来决定采用更通用的方法来解决您的问题。

这些模式的优点是让您可以编写自己的 XML 并根据它们支持的输出格式按需要呈现它。而且,它们是免费的,只要您拥有正确的源文档,您就可以轻松获得 PDF、RTF、WebHelp、HTML 等。

所以,你需要:

  • 做出决定,DITA 还是 DOCBOOK?
  • 编写一个 transfrom 获取您的 XML 并将其转换为特定的标准 DITA 或 DOCBOOK
  • 确定用于管理您选择的标准的工具,并测试您可以从中获得的所有输出,看看哪个更适合。

如果您决定使用 DITA,您有两个免费选择:

  • DITA-OT
  • DITAC

就我个人而言,我会选择 DITA 和 DITA-OT,因为它具有基于 XSLT 的插件和基于 ANT 的自定义构建的灵 active 。但两者都有其原因。我从 DITA-OT 开始,到同时使用 DITA-OT 和 DITAC 结束。

我没有在这里放任何引用,因为您可以使用 Google 轻松找到您需要的内容。


关于 float

DITA-OT 提供了一个特定的 XSL-FO 转换类型,称为 PDF2,其 XSL-FO 处理器是 RenderX。 RenderX 目前支持 fo:float,所以我想你会找到适合自己的方式。可能您需要覆盖一些 PDF2 模板,这绝对比实现您自己的 PDF 转换更简单。

请注意,只要您可以接受每个页面上的小脚印,RenderX 是可行的。否则你应该花点钱。

关于xslt - 带有 float div 元素的格式化语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6195172/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com