我想转换这个 XML 以创建标签页作为我的 XSLT 输出,假设每页 3 个,所以我最终得到如下内容:
除了将它们分组到页面之外,我可以做我需要的一切。
INPUT XML:
<root>
<element>a</element>
<element>b</element>
<element>c</element>
<element>e</element>
<element>f</element>
<element>g</element>
<element>h</element>
<element>i</element>
</root>
XSLT RESULT XML:
<root>
<page num="1">
<element>a</element>
<element>b</element>
<element>c</element>
</page>
<page num="2">
<element>d</element>
<element>e</element>
<element>f</element>
</page>
<page num="3">
<element>g</element>
<element>h</element>
</page>
</root>
我试过position() mod X
了,但顺序似乎很重要,因为我试图打破 xml 10 个单独的文件,并且使用exsl:document
这种方式会导致它每次都覆盖文件,只保留最后一个元素:
<exsl:document href="chunk-{position() mod 10}.xml">
似乎我需要按顺序循环它们(1-3,然后是 4-6,然后是 7-8)。
注意:我在 linux 上使用 xsltproc,所以它支持 EXSL 但不支持 XSLT2.0。