У меня есть документ, состоящий из нескольких вложенных документов. Вот как выглядит поддокумент:
1 страница
2-n страниц
Затем следует следующий поддокумент с той же структурой:
1 страница
2 млн страниц
Как я уже сказал, эти вложенные документы объединены в один файл .pdf.
Вот мой шаблон xsl-fo:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output method="xml" indent="yes" />
<xsl:template match="/">
<fo:root font-size="11pt" font-family="serif">
<fo:layout-master-set>
<fo:simple-page-master master-name="A4-portrait"
page-height="29.7cm" page-width="21.0cm" margin-top="1cm"
margin-left="1.5cm" margin-right="1cm" margin-bottom="1cm">
<fo:region-body />
<fo:region-after region-name="footer" extent="15mm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<!-- first sub-document -->
<fo:page-sequence master-reference="A4-portrait" initial-page-number="1">
...........
<fo:block text-align="center">
Page <fo:page-number/>/<fo:page-number-citation-last ref-id="end"/>
</fo:block>
...........
</fo:page-sequence>
<fo:page-sequence master-reference="A4-portrait" id="end">
...........
<fo:block text-align="center">
Page <fo:page-number/>/<fo:page-number-citation-last ref-id="end"/>
</fo:block>
...........
</fo:page-sequence>
<!-- second sub-document -->
<fo:page-sequence master-reference="A4-portrait" initial-page-number="1">
...........
<fo:block text-align="center">
Page <fo:page-number/>/<fo:page-number-citation-last ref-id="end"/>
</fo:block>
...........
</fo:page-sequence>
<fo:page-sequence master-reference="A4-portrait" id="end">
...........
<fo:block text-align="center">
Page <fo:page-number/>/<fo:page-number-citation-last ref-id="end"/>
</fo:block>
...........
</fo:page-sequence>
</fo:root>
</xsl:template>
</xsl:stylesheet>
Итак, у меня есть 2 одинаковых блока, состоящих из 2 последовательностей страниц каждый. В моем примере допустим, что вложенный документ 1 имеет 4 страницы (n = 4), а вложенный документ 2 состоит из 2 страниц (m = 2). Вот номера страниц, которые я получаю:
1/4
2/4
3/4
4/4
1/4
2/2
Все в порядке, кроме первой страницы второго вложенного документа. В этот момент <fo:page-number-citation-last ref-id="end"/>
возвращает 4, что является значением из поддокумента 1. Таким образом, вместо 1/2
я получаю 1/4
.
Любые предложения, как я могу это исправить?
.......
. - person Mathias Müller   schedule 26.03.2014id="end"
? - person user1414745   schedule 26.03.2014