Xslt - итерация узлов в чанках

У меня есть существующий скрипт xslt, который создает PDF с FOP, проблема в том, что ему не хватает памяти при применении apply-template для определенного типа узла, когда число узлов превышает определенный предел. Чтобы исправить проблему с памятью, мне нужно разбить результат, полученный из этого вызова шаблона, на несколько<fo:page-sequence>, но я не хочу последовательность страниц для каждого узла, больше как для каждого 100 узла.

Моей первой мыслью было использовать position () и просто добавлять новые теги последовательности каждые сотые, но поскольку xslt должен быть правильно сформирован, я не могу иметь такие открытые теги.

Итак, мой вопрос: что будет лучшей альтернативой для итерации всех узлов определенного типа в кусках по 100?

Пример того, как выглядит источник XML

 <var ID="V1"><subnodes/></var>  
 ..
 <var ID="V1000"><subnodes/></var>

В настоящее время обрабатывается с

<fo:page-sequence>
  <xsl:apply-templates select="ns:var"/>
</fo:page-sequence>

Требуемый результат FOP XML будет чем-то, что создаст несколько последовательностей страниц с (например) 100 обработанными узлами var в каждом вместо того, чтобы иметь результат всех 1000 в одной последовательности страниц.

Текущий результат

<fo:page-sequence>
  <formatted V1>
  ..
  <formatted V1000>
</fo:page-sequence>

Требуемый результат

<fo:page-sequence>
   <formatted V1>
    ..
   <formatted V100>
</fo:page-sequence>

<fo:page-sequence>
  <formatted V101>
   ..
  <formatted V200>
 </fo:page-sequence>

..

<fo:page-sequence>
  <formatted V901>
   ..
  <formatted V1000>
</fo:page-sequence>   

Ответы на вопрос(1)

Ваш ответ на вопрос