gpt4 book ai didi

xml - xsl :fo retrieve-marker not valid child

转载 作者:数据小太阳 更新时间:2023-10-29 03:01:48 24 4
gpt4 key购买 nike

我的 xsl:fo 转换需要 <fo:retrieve-marker>在表格中,但我不知道这是否可行,因为我使用 FOP 处理器进行转换。

如果我使用 <fo:retrieve-marker>在我的表中,我总是收到一条错误消息,指出标签必须位于静态内容中。

这是带有标记的表格

                <xsl:call-template name="MMEL-Table-Header"/>

<!-- Bottom table Line -->
<fo:table-footer>
<fo:table-row>
<fo:table-cell>
<fo:marker marker-class-name="footer-continued"> <fo:inline>(continued)</fo:inline></fo:marker>
</fo:table-cell>
</fo:table-row>

</fo:table-footer>

<fo:table-body >

<xsl:variable name="identification">
<xsl:value-of select="ident/message"/>
</xsl:variable>
<xsl:apply-templates select="ident"><xsl:with-param name="ident" select="$identification"/></xsl:apply-templates>
<xsl:apply-templates select="provisos/proviso"><xsl:with-param name="ident" select="$identification"/></xsl:apply-templates>

<fo:table-row>
<fo:table-cell> <fo:retrieve-marker retrieve-position="first-starting-within-page" retrieve-class-name="footer-continued" retrieve-boundary="document" /> </fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

最佳答案

(披露:我是 FOP 开发人员)

这个例子有动态的表头和表尾,所以它应该能满足你的要求:

  • 如果表格适合单页,则表格页眉和表格页脚均为空
  • 如果表格分成几页
    • 第一页的表头是空的,而在接下来的几页中它是“(续)”
    • last 页的表页脚是空的,而在前面的页脚中显示“(继续下一页)”
  • 使用 FOP 2.0 进行测试(旧版本支持表格标记);由于 FOP 当前的限制,表头和表尾中的 不间断空格   是必要的“占位符”(表头/表尾尺寸是计算出来的一次,无标记内容)
  • 没有特定于格式化程序的扩展,因此这也可以与其他格式化程序一起使用(XslFormatter 支持表格标记;XEP 有替代解决方法)

FO 片段:

  <fo:table table-layout="fixed" width="100%">
<fo:table-column column-width="100%"/>
<fo:table-header>
<fo:table-row>
<fo:table-cell>
<fo:block>
<fo:retrieve-table-marker retrieve-class-name="mc1"
retrieve-position-within-table="first-starting"
retrieve-boundary-within-table="table-fragment"/>
&#x00A0;
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-footer>
<fo:table-row>
<fo:table-cell>
<fo:block>
<fo:retrieve-table-marker retrieve-class-name="mc2"
retrieve-position-within-table="last-ending"
retrieve-boundary-within-table="table-fragment"/>
&#x00A0;
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-footer>
<fo:table-body>
<!-- first row -->
<fo:table-row>
<fo:table-cell>
<fo:block>
<fo:marker marker-class-name="mc1"></fo:marker>
<fo:marker marker-class-name="mc2">(continues on the next page)</fo:marker>
cell1
</fo:block>
</fo:table-cell>
</fo:table-row>
<!-- middle row -->
<fo:table-row>
<fo:table-cell>
<fo:block>
<fo:marker marker-class-name="mc1">(continued)</fo:marker>
<fo:marker marker-class-name="mc2">(continues on the next page)</fo:marker>
cell2
</fo:block>
</fo:table-cell>
</fo:table-row>
<!-- ... other similar rows ... -->
<!-- last row -->
<fo:table-row>
<fo:table-cell>
<fo:block>
<fo:marker marker-class-name="mc1">(continued)</fo:marker>
<fo:marker marker-class-name="mc2"></fo:marker>
cell9
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

关于xml - xsl :fo retrieve-marker not valid child,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30974903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com