有没有办法以XSL-Fo格式创建嵌套列表?

时间:2016-12-06 12:37:42

标签: pdf xsl-fo apache-fop

我希望输出看起来像这样:

 a. Pets' names and preferences
    i. Charlie
         1. Tuna
         2. Scratching   
   ii.  Fluffy
         1. Corn
         2. Running

但无法通过嵌套<fo:list-item>.

找到方法

1 个答案:

答案 0 :(得分:2)

fo:list-block嵌套在fo:list-item-body内。

fo:list-item-bodyhttps://www.w3.org/TR/xsl11/#fo_list-item-body)可以包含任何%block; FO(https://www.w3.org/TR/xsl11/#block.fo.list),fo:list-blockhttps://www.w3.org/TR/xsl11/#fo_list-block)是一个。

你最终会像以下那样嵌套FO:

fo:list-block
  fo:list-item
    fo:list-item-label
      fo:block
    fo:list-item-body
      fo:list-block
        fo:list-item
          fo:list-item-label
            fo:block
          fo:list-item-body
            fo:block
        fo:list-item
          fo:list-item-label
            fo:block
          fo:list-item-body
            fo:block
  fo:list-item
    fo:list-item-label
      fo:block
    fo:list-item-body
      fo:list-block
        fo:list-item
          fo:list-item-label
            fo:block
          fo:list-item-body
            fo:block
        fo:list-item
          fo:list-item-label
            fo:block
          fo:list-item-body
            fo:block

您需要在每个provisional-distance-between-starts上正确设置provisional-label-separationhttps://www.w3.org/TR/xsl11/#provisional-distance-between-starts)和fo:list-blockhttps://www.w3.org/TR/xsl11/#provisional-label-separation),以便列表项为缩进你想要的方式。