Вы можете изменить fo:static-content
, когда вы выводите его в fo:page-sequence
.Используя fo:marker
и fo:retrieve-marker
, вы можете настроить статический контент на основе информации, содержащейся на конкретной странице.Например, каждый раз, когда вы сталкивались с атрибутом revdate
, вы можете вывести fo:marker
.Вы получите значение этого маркера в вашем fo:static-content
.
Пример fo:marker
:
<fo:marker marker-class-name="footerRevdate">
<xsl:value-of select="@revdate"/>
</fo:marker>
Пример fo:retrieve-marker
:
<fo:static-content flow-name="some_flow">
<fo:block>
<fo:retrieve-marker retrieve-class-name="footerRevdate" retrieve-boundary="page-sequence" retrieve-position="last-starting-within-page"/>
</fo:block>
</fo:static-content>
Вы также можете установить статический контент напрямую.Этот контент будет применяться ко всем страницам в этой последовательности страниц.(Содержимое будет / может меняться для каждой последовательности страниц.) Например, вы можете вывести префикс перед номером страницы, если атрибут chapnbr
равен 0
.
<xsl:template match="chapter">
<xsl:variable name="page-prefix">
<xsl:choose>
<xsl:when test="number(@chapnbr)=0">INTRO-</xsl:when>
<xsl:otherwise/>
</xsl:choose>
</xsl:variable>
<fo:page-sequence master-reference="Body" font-family="Arial" font-size="10pt" force-page-count="even">
<fo:static-content flow-name="Even_Page_regionafter">
<fo:block>
<xsl:value-of select="concat('Page ',$page-prefix)"/><fo:page-number/>
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<fo:block>
<xsl:apply-templates/>
</fo:block>
</fo:flow>
</fo:page-sequence>
</xsl:template>