- - PR -
xsl-foのfo:table-cellで自動改行
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-01-15 23:10
私の方でも、長い文章を流し込んで見ましたが、特に問題なく表示されました。
以下の文書が正しく改行して表示されるかどうか、確認していただけないでしょうか。 # utf-8で保存してね。
[ メッセージ編集済み 編集者: かずくん 編集日時 2004-01-15 23:14 ] | ||||
|
投稿日時: 2004-01-16 09:43
ありがとうございました。解決です。
頂いたサンプルを動かしたところ見事に改行され、 違いを見ていたら、 <fo:root>の属性に language="ja" が自分のfoには無く、 これを入れてみると、見事に改行されるようになりました。 実は、 http://www.xslt.com/xsl-list/2002-01/msg00928.html このページを参考に作った下記の一文字ずつ、サイズ0のスペースを入れる テンプレートでしのぐしかないのかと、覚悟を決めていたところでした。 これで下記のテンプレートを使わずにすみます。 ありがとうございました。 <xsl:template name="text_wrapper"> <xsl:param name="Text"/> <xsl:choose> <xsl:when test="string-length($Text)"> <xsl:value-of select="substring($Text,1,1)"/> <fo:inline font-size="0pt">​</fo:inline> <xsl:call-template name="wrapper_helper"> <xsl:with-param name="Text" select="substring($Text,2)"/> </xsl:call-template> </xsl:when> <xsl:otherwise> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="wrapper_helper"> <xsl:param name="Text"/> <xsl:value-of select="substring($Text,1,1)"/> <fo:inline font-size="0pt">​</fo:inline> <xsl:call-template name="text_wrapper"> <xsl:with-param name="Text" select="substring($Text,2)"/> </xsl:call-template> </xsl:template> |