我被要求查看一些旧的 XSL-FO 样式表并将它们转换为 XSLT (HTML),以便我可以获得 HTML 输出。
我能找到的唯一工具是 RenderX XSLFOToHTML 中的工具,但我不确定如何使用这个免费的 xsl。 首选 .NET,否则可以尝试其他语言,因为它只是一次性过程。
曾尝试在 .NET 中使用 XslCompiledTransform,但不确定这是否是正确的使用方法。
有什么方法可以使用现有的 XSL-FO 将 xml 数据呈现为 HTML?
XSL-FO 样式表通常用于将 XML 文件转换为 XSL-FO,然后可以由 FO 渲染引擎进行渲染。
从 XML 到 FO 的转换丢失了许多在 HTML 中有用的信息。其中一个重要问题是段落样式:您的 XML 可能包含样式名称,FO 会丢失该名称并仅保留样式属性。 您希望 HTML 中包含这些样式名称,因为这样您可以使用 CSS 进行样式设置。
如果您有用于创建 FO 的 XML,那么使用它进行 XML 到 HTML 的转换通常会更容易,从而完全跳过 FO 文件。
此转换将高度依赖于您的 XML 结构。根据创建 XML 的源,您也许能够找到可以从您的源创建 HTML 文件的 XSLT。例如,我使用 Author-it,并且有 XSLT 可以从相同的 XML 输出创建 XSLFO 和 HTML。
RenderX 解决方案尝试从 FO 文件创建 HTML 加 CSS。因为 FO 中没有段落样式数据,所以您最终可能会得到大量 CSS 来单独为每个段落设置样式。