如何在两个XSL模板之间创建分页符

时间:2018-04-09 16:48:55

标签: xml xslt

我正在尝试使用page-break或两个模板之间的任何空格。

<xsl:template match="content_name">
   <fo:block space-after="7pt" space-after.conditionality="retain" line- 
 height="1.147" font-family="Calibri" font-size="15pt" font-weight="bold" language="FR">
   </fo:block>
</xsl:template>

<!--Here i want to add a page break-->

<xsl:template match="pro_list">
  <fo:block space-after="15pt" space-after.conditionality="retain" line-height="1.147" font-family="Calibri" font-size="15pt" font-weight="bold" text-decoration="underline" language="FR">
  </fo:block>
</xsl:template>

你能告诉我如何实现这个目标吗? 我尝试了很多选项,但没有一个可以工作......

1 个答案:

答案 0 :(得分:1)

你不能这样做。
您的问题是对XSLT如何工作的基本误解的结果。每个xsl:template 匹配一种指定形式的XML。尝试在两个模板之间添加匹配是徒劳的。因此,每个page-break功能必须模板中,而不在两个模板之间。

因此,您可以在此处添加page-break

<xsl:template match="content_name">
   <fo:block space-after="7pt" space-after.conditionality="retain" line- 
 height="1.147" font-family="Calibri" font-size="15pt" font-weight="bold" language="FR">
   <!-- Add a page break here -->
   </fo:block>
</xsl:template>

或那里

<xsl:template match="pro_list">
  <fo:block space-after="15pt" space-after.conditionality="retain" line-height="1.147" font-family="Calibri" font-size="15pt" font-weight="bold" text-decoration="underline" language="FR">
  </fo:block>
  <!-- Add a page break here -->
</xsl:template>

或这两个模板中的任何其他位置。但 这些模板之间没有