首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FOP可以创建一个只有< table -head>而没有<table-body>的表吗?

FOP可以创建一个只有< table -head>而没有<table-body>的表吗?
EN

Stack Overflow用户
提问于 2012-06-11 11:09:27
回答 2查看 2.6K关注 0票数 3

我使用FOP将HTML(嵌入到XML中)转换为PDF。HTML代码片段如下:

代码语言:javascript
复制
<table border="1" width="100%">
  <thead>
    <tr>
      <th>Name</th>
      <th>Value</th>
    </tr>
  </thead>
  <tbody/>
</table>

当我转换时,我得到这个错误:-

代码语言:javascript
复制
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/>元素时,我遇到了类似的错误:-

代码语言:javascript
复制
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对于fo:table是必需的,table-row对于table-body是必需的。我的问题是:

是否可以创建只有表头不带表体或空表体的表?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-29 20:29:57

当然,您可以使用以下方式:

创建<fo:table-body>

  • Create

  • 即使它需要

  • 把边框大小设为零并且颜色为白色,或者是你的页面背景的颜色
票数 0
EN

Stack Overflow用户

发布于 2013-02-08 18:33:57

如果您的数据xpath是xpa/th,则可以使用以下内容:

代码语言:javascript
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10974155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档