2017-07-07 18 views
1

私はxsl fo "footnote"の問題に直面しています。脚注の整列は整列方法を整えません。 脚注は左揃えでインデントしないようにします。 コーディングは、以下のとおりである: -xslの脚注の参考文献

本文: -

"<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> 

は私の脚注3月に会長の同意を受信

  1. のように見えます25、2016、および

    1. は2016年3月25日に会長の同意を受け、公表

      3. Received the assent of the President on March 
      

をしかし、私は

  1. したい月に会長の同意を受信しました25、2016、および

  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:list-block要素に追加するようにテンプレートを変更してください。同様に、fo:footnote-bodyが継承したくない他のプロパティを "リセット"する必要があります(end-indent、スペース、font-size、...)。

関連する問題