В настоящее время я создаю многостраничный PDF-документ на Java с использованием XML-кода и XSLT.
XML генерируется в том же порядке ввода (что я и хочу).
Однако при создании PDF я сталкиваюсь с проблемой организации.
Из-за нескольких таблиц стилей, вызываемых с использованием call-template и apply-template, он генерирует PDF в порядке моих категорий apply-template.
Чтобы объяснить это лучше, приведем упрощенный пример:
Input:
cheese
milk
bread
bagels
rice
eggs
С учетом этого ввода я генерирую XML, соответствующий порядку.
<food>
<dairy>
<cheese>
<.....></> <---------cheese information
<.....></> <---------etc.
</cheese>
</dairy>
<grains>
<bread>
<.....></> <---------bread information
<.....></> <---------etc.
</bread>
</grains>
</food>
Тогда XML-кодиспользуется таблицей стилей для создания PDF следующим образом
<xsl:apply-templates select="/food/dairy"/>
<xsl:apply-templates select="/food/grains"/>
<xsl:template match="/food/dairy">
<xsl:call-template name="dairy"></xsl:call-template>
</xsl:template>
<xsl:template match="/food/grains">
<xsl:call-template name="grains"></xsl:call-template>
</xsl:template>
Теперь происходит то, что мы получаем яйца, прыгающие зерна и следующие за сыром и молоком, вместо того, чтобы оставаться в том же порядке.
Есть ли способ поддерживать порядок XML при вызове и применении шаблонов?
Мне удалось найти только этот соответствующий пост: Применить шаблон XSLT, соответствующий порядку вXML-источник
Хотя это не совсем соответствует моей проблеме.