Я получил несколько последовательностей страниц, что необходимо, поскольку отображаемые данные имеют разные параметры (некоторые пейзажи и некоторые портреты). Я борюсь за создание ToC со ссылками:
<fo:page-sequence id="toc">
<fo:page-sequence id="data1">
<fo:page-sequence id="data2">
<xsl:template name="toc">
<fo:flow>
<fo:block>
<fo:basic-link internal-destination="data1">
data 1
<fo:leader leader-pattern="dots"/>
<fo:page-number-citation ref-id="data1"/>
</fo:basic-link>
</fo:block>
</fo:flow>
</xsl:template>
Я получаю следующее предупреждение:
1 link target could not be fully resolved and now point to the top of the page or is dysfunctional
Таким образом, внутренний адресат не может разрешить идентификатор, который он всегда связывает с началом документа, но я хочу, чтобы он указывал на верхнюю часть первой страницы последовательности данных data1.
Если я добавлю идентификатор, который нигде не указан в документе для внутреннего назначения, ссылка полностью разорвана, и я получаю сообщение об ошибке, как и ожидалось. Номер страницы, показанный для последовательности data1, правильный. Разве нельзя просто указать ссылку на определенную страницу? Это позволит обойти проблему.
Я должен использовать XSL 2.0 и Xalan.
Обновление:
Теперь проблема становится действительно странной. Я получил нижний колонтитул в «регион после», как это:
<fo:static-content flow-name="xsl-region-after">
<fo:block>
<fo:inline>
<fo:page-number/>
/
<fo:page-number-citation-last ref-id="data5"/>
</fo:inline>
</fo:block>
</fo:static-content>
data5
на последней странице последовательности. Если я введу data4
, ссылка на data5
будет работать, но не на другие. Если я уберу его полностью, все ссылки будут работать! Так что этот <fo:page-number-citation-last ref-id="data5"/>
, чтобы получить последний номер страницы, чтобы поместить его в нижний колонтитул, на самом деле является проблемой. Это почему? Как еще я могу получить номер последней страницы?
Вызов страницы-номера-цитирования-последней вещи в нижнем колонтитуле, кажется, блокирует ссылки!