2016-07-19 2 views
2

私は、XSL-FOテンプレート言語を使用してXMLデータをPDFファイルに解析する際の解決方法と問題の解決方法を探しています。ユーザーがデータをPDF形式でダウンロードしようとしているときに、問題の正確な原因を見つけるのが難しいです。 次のように私の例外:XSL-FOテンプレートの解析でPDFを作成する際にエラーが発生しましたか?

"org.apache.fop.events.loggingeventlistener processevent rendered page" 

は、私はこれはかなり一般的な質問ですけど、本当に私が同じのための根本的な原因を知りたいと思った、事前にありがとうございます。

マイXML:

<root> 
<name>shyam</name> 
<friend> 
    <name>Abc</name> 
    <phNo>90909090909</phNo> 
    <age>32</age> 
    <closefriends> 
     <names>test123</names> 
    </closefriends> 
</friend> 
<friend> 
    <name>Xyz</name> 
    <phNo>32323232323</phNo> 
    <age>44</age> 
    <closefriends> 
     <names>test345</names> 
    </closefriends> 
</friend> 
</root> 

私のXSL-FO:

<?xml version="1.0" encoding="iso-8859-1"?> 
    <fo:page-sequence master-reference="my-page"> 
     <fo:flow flow-name="xsl-region-body"> 
     <fo:block>Hello, 
      <xsl:value-of select="name" />!</fo:block> 
     <fo:block> 
      <fo:table> 
      <fo:table-body> 
       <fo:table-row> 
       <fo:table-cell border="solid 1px black" text-align="center" font-weight="bold"> 
        <fo:block> 
        No. 
        </fo:block> 
       </fo:table-cell> 
       <fo:table-cell border="solid 1px black" text-align="center" font-weight="bold"> 
        <fo:block> 
        Name 
        </fo:block> 
       </fo:table-cell> 
       <fo:table-cell border="solid 1px black" text-align="center" font-weight="bold"> 
        <fo:block> 
        Phone Number 
        </fo:block> 
       </fo:table-cell> 
       </fo:table-row> 
       <xsl:for-each select="./friend"> 
       <xsl:for-each select="./closefriends"> 
        <fo:table-row> 
        <fo:table-cell border="solid 1px black" text-align="center"> 
         <fo:block> 
         <xsl:value-of select="position()" /> 
         </fo:block> 
        </fo:table-cell> 
        <fo:table-cell border="solid 1px black" text-align="center"> 
         <fo:block> 
         <xsl:value-of select="name" /> 
         <xsl:value-of select="names" /> 
         </fo:block> 
        </fo:table-cell> 
        <fo:table-cell border="solid 1px black" text-align="center"> 
         <fo:block> 
         <xsl:value-of select="phNo" /> 
         </fo:block> 
        </fo:table-cell> 
        </fo:table-row> 
       </xsl:for-each> 
       </xsl:for-each> 
      </fo:table-body> 
      </fo:table> 
     </fo:block> 
     </fo:flow> 
    </fo:page-sequence> 
    </fo:root> 
</xsl:template> 

私はあなたの参照のための私のXMLとXSL-FOを追加しました。あなたが見ている何

+0

問題を試してみて、再現するために、あなたの入力XMLとXSLTを追加してください。 – potame

+0

私の投稿をXMLとXSL-FOで更新しました.. – Maniram

答えて

1

は、例外の種類、ちょうどここ-ある - 何か、面白い例外:-) -行ってきました - 間違った何かではありません。

もっと真剣に

、それはページが作成されたことを示していますINFOレベルのログメッセージです:

19-lug-2016 17.36.32 org.apache.fop.events.LoggingEventListener processEvent 
INFO: Rendered page #1. 
... 

大きなファイルを処理している間、それはFOPがまだ期待どおりに動作し、ただで立ち往生されていない便利な兆候であります無限ループ。

FOPのウェブサイトには、feedback messagesに関するページがあり、必要に応じてプログラムでそれらを処理する方法の例があります。そうでなければ、無視することができます。

(情報開示:私はFOPの開発者だし、非常に積極的ではないが、今日)

+0

あなたはそれを言うことを意味しますか?その理由は、XSL-FOテンプレートが無限ループやバックエンドの何かで起こっていることでしょうか? – Maniram

+0

@Maniramいいえ、私が言っていることは、何も間違っていることは何もないことです。あなたが見るのは、 'INFO:Rendered page#1'のようなメッセージだけです。私はあなたの例を実行しようとしました。(含まれていないスタイルシートに欠けている行を追加しました。整形式ではありません)、PDF出力は、_fonts_と_automatic table layout_ FOファイルに他の指示がない場合は、同じサイズの列に変換します)。 ** PDFを入手できない場合は、すべての出力メッセージを含めるように回答を編集してください。** – lfurini

関連する問題