XML-FO嵌套列表块

时间:2014-04-05 00:17:38

标签: java html xml xslt apache-fop

我正在尝试将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都为子项创建了一个嵌入式。然而,FOP抱怨你不能将列表块作为列表块的子节点。这是FOP的问题吗?或者,这是不是有效的XML-FO,并且所有XSLT示例都不正确地处理此构造?

如果它是后者,那么生成一组嵌套子弹的正确XML-FO是什么,就像你在HTML中看到的一样?

非常感谢任何帮助!

谢谢!

1 个答案:

答案 0 :(得分:2)

FOP是抱怨的权利,规范规定列表块不能作为孩子有列表块。

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

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