- - PR -
xsl-foのfo:table-cellで自動改行
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-01-14 11:08
杉本と申します。
xsl-fo の質問です。よろしくお願いします。 <fo:table-column column-width="8cm" /> のようにテーブルのセルの幅を指定しており、 その幅を指定されているセルで <fo:table-cell>8cm を超えるテキスト</fo:table-cell> のように8cm を超えるテキストが入力された場合、 自動改行されずに次のセルにはみ出してしまい困っています。 おそらく自動改行するための属性があると信じているのですが、 見つけることができません。 プロセッサには FOP-0.20.5 を使用しております。 よろしくお願いします |
|
投稿日時: 2004-01-14 12:39
FOPで、table-cellに対してcolomn-width属性で個別に設定できたかな?
<fo:table-colomn colomn-width="xxx" />ってな感じでいっつも設定しているなぁ |
|
投稿日時: 2004-01-14 13:08
返答ありがとうございます。
<fo:table-cell column-width="8cm" > と、table-cell に対しても column-width を指定してみましたが、 やはり、8cmを超えるテキストを表示しようとしたときに、 次の列にはみ出してしまいました。 |
|
投稿日時: 2004-01-14 18:00
はみ出す部分について、どのように記述しているのかを提示していただけないでしょうか?
(できればfo:tableから。問題ないところはすっ飛ばしてもらって結構ですので) <fo:table-cell column-width="8cm" > 以外に問題があるような気がします |
|
投稿日時: 2004-01-14 20:32
実際は、XSLTを使ってますので、下記のようになっています。
<xsl:value-of select="fieldA" />の部分に8cm を超えるくらいの 長い文字列を入れると、2列目にはみ出してしまいます。 <!-- ここから --> <fo:table table-layout="fixed"> <fo:table-column column-width="8cm" /> <fo:table-column column-width="8.5cm" /> <fo:table-body> <fo:table-row font-family="Gothic" font-size="12pt" text-align="center" height="0.5cm"> <fo:table-cell border="0.1mm solid black"> <fo:block>フィールドA</fo:block> </fo:table-cell> <fo:table-cell border="0.1mm solid black"> <fo:block>フィールドB</fo:block> </fo:table-cell> </fo:table-row> <xsl:for-each select="row"> <fo:table-row font-family="Mincho" font-size="10pt"> <fo:table-cell border="0.1mm solid black" padding="1mm" column-width="8cm"> <fo:block><xsl:value-of select="fieldA" /></fo:block> </fo:table-cell> <fo:table-cell border="0.1mm solid black" padding="1mm"> <fo:block><xsl:value-of select="fieldB" /></fo:block> </fo:table-cell> </fo:table-row> </xsl:for-each> </fo:table-body> </fo:table> |
|
投稿日時: 2004-01-15 01:18
wrap-option="no-wrap"
もどうでしょうか? FOP の実装レベルしだいですが XSL仕様の実装状況(XSL Formatter V3.0) http://www.antenna.co.jp/XML/axf30/axf_fo.htm [ メッセージ編集済み 編集者: MMX 編集日時 2004-01-15 18:43 ] |
|
投稿日時: 2004-01-15 09:32
ありがとございます。
wrap-option="no-wrap" を試してみたところ、だめでした。 ただ進展があり、問題の文字列が あいうえおかきくけこさしすせそ となっていたところを、 あいうえお かきくけこ さしすせそ のようにスペースを入れると wrap-option の設定に関わらず改行されました。 一つの単語と判断された場合、改行されないようです。 このあたりの属性を調べてみます。 |
|
投稿日時: 2004-01-15 14:58
InternetExplorer のスタイルシートにある word-break のような
属性が指定できると解決しそうなのですが、xsl-foでは 見つかりません。 word-break と同じことを xsl-fo ではできないのでしょうか? よろしくお願いします。 |