Xslt XSL-FO新页面顶部无文本缩进

Xslt XSL-FO新页面顶部无文本缩进,xslt,xsl-fo,Xslt,Xsl Fo,是否可以防止在文档的新页面顶部出现文本缩进变量 代码: 新页面: xxxxxxx 而不是: 文本缩进xxxxxxx 为了避免章节第一段的文本缩进,我使用了下面的代码,但这对我在新页面上的文本缩进没有帮助: <xsl:template match="paragraph"> <xsl:choose> <xsl:when test="fn:position() = 1"> <fo:block>

是否可以防止在文档的新页面顶部出现文本缩进变量

代码:


新页面:

xxxxxxx

而不是:

文本缩进xxxxxxx

为了避免章节第一段的文本缩进,我使用了下面的代码,但这对我在新页面上的文本缩进没有帮助:

<xsl:template match="paragraph">
   <xsl:choose>
       <xsl:when test="fn:position() = 1">
           <fo:block>
             <xsl:value-of select="."/>
           </fo:block>
       </xsl:when>
       <xsl:otherwise>
          <fo:block text-indent="10pt">
              <xsl:value-of select="."/>
          </fo:block>
       </xsl:otherwise>
   </xsl:choose>
</xsl:template>


谢谢

据我所知,在实际FO处理之前,不可能确定分页符的存在和位置。1


原因如下。在XSL-FO中,您不能对页面进行建模。而是定义允许文本“流动”的流和区域。由FO处理器来整理内容如何划分为页面

这样做的结果是,某些类型的信息事先不可用,例如
是否将有分页符?
您正在查找的信息,或者,突出的是,页面

另一方面,当然,您可以轻松控制何时始终插入分页符。如果在
fo:block
元素上指定或,至少可以确保每章的第一段从新页面开始

<fo:block page-break-before="always">Chapter title</fo:block>
章节标题
这样,作为一个小小的安慰,如果第一段的缩进与一个新的章节同时出现,它就会被省略



请注意,我们讨论的是由
FOP
自动引入的分页符,无需用户干预。

您使用的是什么FO处理器?我使用此代码进行分页符:
这工作正常,在最后一章之后没有分页符,但我仍然有问题,新页面顶部的段落确实有文本缩进,这很烦人。“原因如下。在XSL-FO中,您不是在建模页面。相反,您定义了允许文本“流动”的流和区域。内容如何划分为页面,由FO处理器来处理。”我看到了问题。但是,XSL Fo仍然用于创建书籍布局,因此必须有一种方法来防止新页面顶部的文本缩进。我自己已经寻找这些功能很久了,但没有找到它们。也许您可以在这里获得帮助:。顺便问一下,您是否指定了段落块上的
保持在一起。在第
页中?哇<代码>继续下一步。在page=“always”
中实际有效!非常感谢。因此,每一页都以前一页的一段开头,因此没有缩进。
<fo:block page-break-before="always">Chapter title</fo:block>