- - PR -
FOPで作成される帳票の出力について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-04-17 11:32
はじめまして。私は現在仕事でFOPを使った帳票出力機能を担当している者です。
半角スペースや改行などのテンプレートについて ここの過去記事をいろいろと参考にさせてもらいました。有難うございます。 そこで一つ質問があります。 症状 帳票が2ページ以上に渡り、改行して改ページとなるような場合帳票が出力されない という事象が発生します。 以下のような場合です。 |----------| |1ページ目 | |ああ | |いうえ | |ここで改行 | |_____ | | ̄ ̄ ̄ ̄ ̄ | |2ページ目 | |に内容が | |渡る。 | | | |__________| ただ、このような場合に帳票が出力されないということで はっきりと原因はわかりません。 どうやらFOP内部で無限ループしてしまうようです。 以下当該xslの内容です。 <!-- 改行を行うためのテンプレートとして InsertLineBreak を定義 --> <xsl:template name="InsertLineBreak"> <xsl:param name="value" select="あ"/> <xsl:choose> <xsl:when test="contains($value,'')"> <xsl:value-of select="substring-before($value,'')"/> <fo:block white-space-collapse="false"> </fo:block> <xsl:call-template name="InsertLineBreak"> <xsl:with-param name="value" select="substring-after($value,'')"/> </xsl:call-template> </xsl:when> </xsl:choose> </xsl:template> <!-- InsertLineBreak の定義終了 --> <!-- InsertLineBreak を実際に適用する箇所 --> <fo:block hyphenate="true"> <xsl:for-each select="XXXXXX"> <!-- XXXXXXは項目名です。 --> <fo:inline font-size="10.0pt" font-family="MS 明朝" font-weight="bold"> <xsl:call-template name="InsertLineBreak"> <xsl:with-param name="value" select="concat(text(),'')"> <xsl:apply-templates /> </xsl:with-param> </xsl:call-template> </fo:inline> </xsl:for-each> </fo:block> <!-- InsertLineBreak の適用おわり --> お手数ですが、どなたかアドバイス頂けると助かります。 以上、よろしくお願いします。 [ メッセージ編集済み 編集者: 恥 編集日時 2007-04-17 11:39 ] [ メッセージ編集済み 編集者: 恥 編集日時 2007-04-17 14:31 ] [ メッセージ編集済み 編集者: 恥 編集日時 2007-04-17 15:54 ] | ||||
|
投稿日時: 2007-04-17 14:19
丸括弧の対応を確認、 ちゃんと した エディタ使ってます?
| ||||
|
投稿日時: 2007-04-17 15:52
すみません。 編集しました。 |
1