我正在使用FOP将HTML(嵌入在XML中)转换为PDF。 HTML代码段如下: -
<table border="1" width="100%">
<thead>
<tr>
<th>Name</th>
<th>Value</th>
</tr>
</thead>
<tbody/>
</table>
当我转换时,我收到此错误: -
Caused by: org.apache.fop.fo.ValidationException: Error(Unknown location): fo:table-body i
s missing child elements.
Required Content Model: marker* (table-row+|table-cell+)
删除<tbody/>
元素时出现类似错误: -
org.apache.fop.fo.ValidationException: Error(Unknown location): fo:table is missing child
elements.
Required Content Model: (marker*,table-column*,table-header?,table-footer?,table-body+)
看起来需要table-body来表示table-body需要table和table-row。我的问题是: -
是否可以创建一个只包含table-header且没有table-body或具有空表体的表?
答案 0 :(得分:0)
你可以通过以下方式:
<fo:table-body>
<fo:table-cell
答案 1 :(得分:0)
如果您的数据xpath是xpa / th,则可以使用以下内容:
<fo:table>
<fo:table-header>(whatever)</fo:table-header>
<fo:table-body>
<xsl:if test="xpa/th">
<xsl:apply-templates select="xpa/th" />
</xsl:if>
<xsl:if test="not(xpa/th)">
<fo:table-cell><fo:block /></fo:table-cell>
</xsl:if>
</fo:table-body>
</fo:table>