У меня есть документ, в котором данные в каждом узле разные, и есть один узел, который имеет атрибут end Tag. Я пытаюсь создать страницы данных с одинаковыми строками на всех страницах, и если данные одного из узлов не могут быть на странице, тогда все данные узла должны быть перемещены на следующую страницу. Также есть узел с «Конечным тегом», который должен быть на последней странице.
Пример ввода:
<Book>
<node>
<line>Test</line>
<line>Test</line>
<line/>
</node>
<node>
<line>Test</line>
<line/>
</node>
<node>
<line>Test</line>
<line/>
</node>
<node>
<line>Test</line>
<line/>
</node>
<node>
<line>First 2</line>
<line>Second 2</line>
<line>Third 2</line>
<line>Fourth 2</line>
</node>
<node endTag="Y">
<line>End</line>
<line>Data</line>
<line/>
</node>
Desired Output is page with 5 lines of data:
<Book>
<Page>
<line>Test</line>
<line>Test</line>
<line/>
<line>Test</line>
<line/>
</Page>
<Page>
<line>Test</line>
<line/>
<line>Test</line>
<line/>
<line/>
</Page>
<Page>
<line>First 2</line>
<line>Second 2</line>
<line>Third 2</line>
<line>Fourth 2</line>
<line/>
</Page>
<Page>
<line/>
<line/>
<line>End</line>
<line>Data</line>
<line/>
</Page>
<xsl:for-each-group select="/Book/node/line" group-adjacent="(position() - 1) idiv 5"> <Page> <xsl:copy-of select="current-group()"/> </Page> </xsl:for-each-group>
. Проблема в том, что я не хочу, чтобы он просто группировался по 5 элементам. Следует также учитывать, может ли весь тег ‹node› находиться на ‹Page›, иначе он должен перейти на следующую страницу. А также конечный тег всегда должен быть на последней странице. - person Mahesh Yadav   schedule 22.01.2017