AH Formatter / XSL Formatter
Q&A



操作方法

しおり・リンク

トップ
基本・一般
AH Formatter について
XSL Formatter について
操作方法
プログラミング
XSLT/XSL-FO/SVG/MathML 仕様について
XSLT/XSL-FO/MathML テクニック
索引
Q.  fo:blocklinefeed-treatment="preserve" を指定して、さらに axf:outline-level を使ってPDFのしおりを作成したのですが、テキスト中の改行が空白になってしおりに出力されてしまいます。 どうすれば空白を削除できますか。 [No.2004032506]
A. 

例えば、

<fo:block linefeed-treatment="preserve" axf:autline-level="1">
This is a sam
ple
</fo:block>

このような場合、axf:outline-title を使うのがよいと思われます。 スタイルシートで以下のように記述することによって、改行を削除したしおりが作成できます。

<xsl:template match="title">
  <fo:block linefeed-treatment="preserve" axf:outline-level="1">
    <xsl:attribute name="axf:outline-title">
      <xsl:value-of select="translate(., '&#10;','')" />
    </xsl:attribute>
    <xsl:value-of select="." />
  </fo:block>
</xsl:template>

次のようなFOが出力されます。

<fo:block linefeed-treatment="preserve" axf:autline-level="1" axf:outline-title="This is a sample">
This is a sam
ple
</fo:block>

Copyright © 1999-2011 Antenna House, Inc. All rights reserved.
Antenna House is a trademark of Antenna House, Inc.