<doc>
<para>111111111111</para>
<!--start div1-->
<para>2222222</para>
<para>3333333</para>
<!--start div2-->
<para>4444444</para>
<para>5555555</para>
<para>6666666</para>
<!--start div3-->
<para>7777777</para>
<para>8888888</para>
<!--end div3-->
<para>9999999</para>
<para>1010110</para>
<!--end div2-->
<para>11,11,11</para>
<para>12,12,12,</para>
<!--end div1-->
<para>13,13,13</para>
</doc>
我正在对这个输入进行XSLT转换,我需要将这些元素放在嵌套的
<div>
元素。从上一阶段添加注释,以确定
<
元素应该消失。在给定的示例中,有三个嵌套
div
元素在那里,但它可以改变。我的预期产量是,
<doc>
<para>111111111111</para>
<div>
<!--start div1-->
<para>2222222</para>
<para>3333333</para>
<div>
<!--start div2-->
<para>4444444</para>
<para>5555555</para>
<para>6666666</para>
<div>
<!--start div3-->
<para>7777777</para>
<para>8888888</para>
<!--end div3-->
</div>
<para>9999999</para>
<para>1010110</para>
<!--end div2-->
</div>
<para>11,11,11</para>
<para>12,12,12,</para>
<!--end div1-->
</div>
<para>13,13,13</para>
</doc>
我不能写三个嵌套的
<for-each>
按嵌套方式分组
<分区>
元素可以在其他输入中变化。(可以转到嵌套的第四层或第五层等)。
我试过跟在后面,但它只是先加上
<分区>
<xsl:template match="doc">
<doc>
<xsl:for-each-group select="*|comment()" group-adjacent="
if (self::comment())
then
substring-after(self::comment(),' ')
else
local-name()">
<xsl:for-each-group select="current-group()" group-starting-with="*">
<div id="{local-name()}-{position()}">
<xsl:copy-of select="current-group()" />
</div>
</xsl:for-each-group>
</xsl:for-each-group>
</doc>
</xsl:template>
有人能给我建议一个实现这些嵌套的方法吗
<分区>
<对于每个>
在XSLT中?