【问题标题】:XML-FO Nested List-BlocksXML-FO 嵌套列表块
【发布时间】:2014-05-17 11:45:27
【问题描述】:

我正在尝试将 HTML 中的嵌套项目符号列表转换为 XML-FO,以便在 Apache FOP 中作为 PDF 输出。 HTML 看起来像这样

<ul>
   <li>Item Number1</li>
      <ul>
          <li>Sub-Item 1</li>
          <li>Sub-Item 2</li>
      </ul>
 </ul>

我尝试过的所有 XSLT 都为子项创建了一个嵌入的 XSLT。但是,FOP 抱怨您不能将列表块作为列表块的子项。这是 FOP 的问题吗?或者,这仅仅是无效的 XML-FO 并且所有 XSLT 示例都错误地处理了这个构造?

如果是后者,生成一组嵌套项目符号的正确 XML-FO 是什么,就像您在 HTML 中看到的那样?

任何帮助将不胜感激!

谢谢!

【问题讨论】:

    标签: java html xml xslt apache-fop


    【解决方案1】:

    FOP 的抱怨是对的,规范规定列表块不能将列表块作为子块。

    您需要为嵌套列表创建一个幽灵列表项,不要在项目上放置标签(从而使其成为幽灵项),并将嵌套列表放入幽灵项的主体中。

    在我的 XSL-FO 书的第 139 页上有一个有用的图表,可以通过“试用和购买”免费下载http://www.CraneSoftwrights.com/training/#pfux...如果您决定不为这本书付费,请删除您免费下载的副本。

    【讨论】:

    • 谢谢,肯。我还发现我可以通过在结束 list-item-body 标记之前将列表块插入到父项目符号项中来添加它。现在我只需要弄清楚如何让 XSL 做到这一点。它希望在放置问题所在的下一个列表块之前关闭上一个项目。我一定会看看你的书!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    相关资源
    最近更新 更多