2017-05-10 31 views
0

好日子,如何使用XSL-FO创建有序列表(ol中的HTML)?

我对演示文稿,将其从XML转换为PDF我在哪里使用这些技术:

  • XML
  • XSL
  • XSL-FO
  • 撒克逊
  • 其他东西...

而在我的XSL-FO文件中,我需要有一个演示幻灯片,其中包含特定项目的编号列表。只有我发现的东西只是本段上面显示的常见列表。这里是列表XSL-FO文档:https://www.alt-soft.com/tutorial/xslfo_tutorial/xsl-fo_list.html

这里是我的代码:

<fo:list-block padding="4pt" margin-left="10mm" margin-top="4mm"> 
     <xsl:for-each select="//*[starts-with(name(), 'slide_')]"> 
      <xsl:if test="not(position()=1)"> 
       <fo:list-item margin-left="13mm" margin-top="8mm" margin-right="5mm" font-family="Times, 'Times New Roman', serif" font-size="15pt"> 
        <fo:list-item-label end-indent="label-end()"> 
         <fo:block>&#x02022;</fo:block> 
        </fo:list-item-label> 
        <fo:list-item-body start-indent="body-start()"> 
         <fo:block margin-left="10mm"> 
          <xsl:value-of select="title"/> 
         </fo:block> 
        </fo:list-item-body> 

       </fo:list-item> 
      </xsl:if> 
     </xsl:for-each> 
    </fo:list-block> 

此代码将生成所有幻灯片标题的共同点名单,但我不能让类似的标号有序列表在HTML中。我发现只有解决方案不适合我这些列表元素以某种方式嵌套。我尝试过,但在编译期间它总是失败。这里是链接到代码(第8,9):https://www.w3.org/Style/XSL/TestSuite/contrib/FOP/list.pdf

这个在线网站可以帮助您找到解决方案对我来说,网上测试: http://www.utilities-online.info/foprender/#.WRLOAYh97cs

有一些解决方案如何可以做到这一点请?预先感谢您的回复。

回答

1

您需要在每个fo:list-item-label中输入一个数字代替&#x02022;

您可以使用xsl:number从源XML的结构中生成数字。有关XSLT 1.0定义和一些简单示例,请参阅https://www.w3.org/TR/xslt#number

+0

嗯,谢谢!现在我明白了我的错误。我在这里发布的w3.org使用了,但它仍然输出错误......如下: 。 1不是1. –

+0

aa ..坏的标签,我用完了,需要它是这样的:end-indent =“label-start()”...好吧,谢谢,它的工作原理! –

相关问题