Xslt XSL FO分页符取决于段落的换行符
我必须修改一个xsl fo模板,对此我很陌生,希望有人能在这一步上帮助我。 一个请求是关于孤立元素,具体取决于段落的行数。 有这样的列表项Xslt XSL FO分页符取决于段落的换行符,xslt,xsl-fo,Xslt,Xsl Fo,我必须修改一个xsl fo模板,对此我很陌生,希望有人能在这一步上帮助我。 一个请求是关于孤立元素,具体取决于段落的行数。 有这样的列表项 Topic Text 1. List entry (first) ... x. List entry (penultimate) y. List entry (last) 请求如下: 如果x和y之间有分页符,则如果列表条目在pdf输出中至少有3行,则最后一个列表条目必须位于下一页。如果x少于3行,y也必须在下一页。 像这样:
Topic Text
1. List entry (first)
...
x. List entry (penultimate)
y. List entry (last)
请求如下:
如果x
和y
之间有分页符,则如果列表条目在pdf输出中至少有3行,则最后一个列表条目必须位于下一页。如果x
少于3行,y
也必须在下一页。
像这样:
widow = 2 if last list entry < 3 lines else widow = 1
widow=2,如果最后一个列表条目<3行,否则widow=1
使用天线室格式化程序的xsl fo是否可以实现这一点?
你能告诉我在哪里可以找到更多的信息吗?
提前谢谢
基督教徒
编辑:
我到处玩,但我无法找到计算最后一个节点中的行数的解决方案。所以我找不到检查最后一个节点的方法
代码片段:
<xsl:otherwise>
<fo:block background-color="{$color}">
<xsl:if test="$myId != ''"><xsl:attribute name="id"><xsl:value-of select="$myId"/></xsl:attribute></xsl:if>
<!-- full width for AnnexTemplate -->
<xsl:if test="($parent = $AnnexTemplate)"><xsl:attribute name="start-indent">-<xsl:value-of select="$leftIndent"/>mm</xsl:attribute></xsl:if>
<xsl:call-template name="insertParaAttributes"><xsl:with-param name="stylename" select="$style"/></xsl:call-template>
<!-- text before table -->
<xsl:if test="following-sibling::table"><xsl:attribute name="keep-with-next">10</xsl:attribute></xsl:if>
<xsl:call-template name="dummy"/>
<xsl:apply-templates/>
</fo:block>
</xsl:otherwise>
-嗯
10
以及附加的输出。
希望这有助于更好的理解。
在我理解描述的范围内,选项包括:
- 倒数第二个列表项()上的
在倒数第二个列表条目()上的page=“always”内使用next
页内,与较低的的整数值与next保持一致。在倒数第二个列表项的第
页内,包含保持一致。在第
fo:list block的值,但您必须进行试验,以确定其是否有效