次の変換を使用して、XMLからテーブルを作成しています
<fo:table table-layout="fixed" width="100%">
<fo:table-header>
<fo:table-row text-align="right" font-weight="bold">
<fo:table-cell column-number="2" text-align="center">
<fo:block>ColA</fo:block>
</fo:table-cell>
<fo:table-cell column-number="3" text-align="center">
<fo:block>Name</fo:block>
</fo:table-cell>
<fo:table-cell column-number="4">
<fo:block color="red">ColB</fo:block>
</fo:table-cell>
<fo:table-cell column-number="5" text-align="center"
color="red">
<fo:block width="1cm">%</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-body>
<xsl:apply-templates select="list/v" />
</fo:table-body>
</fo:table>
簡単に言うと、「list / v」ごとに1つの行を作成します。
問題は、対応するデータがない場合、次の例外が発生することです。
org.apache.fop.fo.ValidationException: "fo:table-body" is missing child elements. Required content model: marker* (table-row+|table-cell+) (No context info available)
したがって、私の質問:データが利用できない場合、本文のない有効なテーブルをどのように作成しますか?