2017-07-07 77 views
1

我在xsl fo中遇到問題「腳註」腳註參考不對齊如何對齊 我希望腳註在左側對齊顯示不縮進。 編碼有以下幾點: -xsl fo的腳註參考

正文: -

"<footnoteref refid="FN0001">1</footnoteref>"any action taken by the Central 
Government under the Resolution of the Government of India, Planning Commission 
bearing Notification Number A-43011/02/2009-Admin. 

XSLT: -

<xsl:template match="footnoteref"> 
<xsl:variable name="fnoteid" select="@refid"/> 
<fo:footnote> 
<fo:inline font-size="70%" baseline-shift="super"> 
<xsl:apply-templates/> 
</fo:inline> 
<fo:footnote-body> 
<fo:list-block provisional-label-separation="2.5mm" provisional-distance-between-starts="10mm"> 
<fo:list-item> 
<fo:list-item-label end-indent="label-end()"> 
<fo:block text-align="right" text-indent="0pt" margin-left="0pt" font-size="8.5" font-style="normal"> 
<xsl:value-of select="//footnote[@id=$fnoteid]/footnum"/> 
<xsl:choose> 
<xsl:when test="$fnoteid = 1 to 9000"><xsl:text>.</xsl:text></xsl:when> 
</xsl:choose> 
</fo:block> 
</fo:list-item-label> 
<fo:list-item-body start-indent="body-start()"> 
<fo:block text-align="justify" text-indent="0pt" margin-left="0pt" font-size="8.5" font-style="normal"> 
<xsl:apply-templates select="//footnote[@id=$fnoteid]"/> 
</fo:block> 
</fo:list-item-body> 
</fo:list-item> 
</fo:list-block> 
</fo:footnote-body> 
</fo:footnote> 
</xsl:template> 

我的腳註看起來像

  1. 收到總統的同意上月2016年5月25日,發表於

    1. 收到的2016年3月25日總統的同意,並發表

      3. Received the assent of the President on March 
      

,但我想

  1. 收到總統的同意上月2016年5月25日發表於

  2. 收到的2016年3月25日總統的同意,並發表

  3. 收到總統的同意就

+0

請同時包含一個例子'footnoteref'和它的'footnote'的XML。 「'test =」$ fnoteid = 1到9000「'」的目的是什麼? –

+0

1

回答

1

這似乎是違反直覺的,但fo:footnote元素從繼承性的祖先格式化對象

因此,如果腳註從fo:block元素(或另一個塊級格式化對象)下降到start-indent="1cm",則腳註主體也會縮進!

要達到預期結果,請修改模板以將start-indent="0cm"添加到fo:footnote-body內部的fo:list-block元素。同樣,您將不得不「重置」您不希望fo:footnote-body繼承的其他屬性(end-indent,空格,font-size,...)。