我想用一个新的父元素包装元素组。此类组出现在文档的许多地方。元素没有属性。
具有
for-each-group
我设法将文档的所有所需元素包含在一个具有新父元素的大组中,但我想根据它们的出现情况来区分这些组。发现了许多类似的问题和答案,但无法解决问题。
我的文档
<modul>
<body>
<Standard>some text</Standard>
<Herausforderung>some text</Herausforderung>
<Standard>some text
<d2tb>some text</d2tb>
</Standard>
<Aufzhlungbullets>some text</Aufzhlungbullets>
<Aufzhlungbullets>some text</Aufzhlungbullets>
<Aufzhlungbullets>some text</Aufzhlungbullets>
<Standard>some text
<d2ti>some text</d2ti>
</Standard0>
<Aufzhlungbullets>some text</Aufzhlungbullets>
<Aufzhlungbullets>some text</Aufzhlungbullets>
<Aufzhlungbullets>some text</Aufzhlungbullets>
<Standard>some text</Standard>
</body>
</modul>
所需输出
<modul>
<body>
<Standard>some text</Standard>
<Herausforderung>some text</Herausforderung>
<Standard>some text
<d2tb>some text</d2tb>
</Standard>
<list>
<Aufzhlungbullets>some text</Aufzhlungbullets>
<Aufzhlungbullets>some text</Aufzhlungbullets>
<Aufzhlungbullets>some text</Aufzhlungbullets>
</list>
<Standard>some text
<d2ti>some text</d2ti>
</Standard0>
<list>
<Aufzhlungbullets>some text</Aufzhlungbullets>
<Aufzhlungbullets>some text</Aufzhlungbullets>
<Aufzhlungbullets>some text</Aufzhlungbullets>
</list>
<Standard>some text</Standard>
</body>
</modul>
我的XSLT样式表
<xsl:template match="body">
<list>
<xsl:for-each-group select="Aufzhlungbullets" group-by=".">
<xsl:copy-of select="current-group()"/>
</xsl:for-each-group>
</list>
</xsl:template>
注意:我知道此模板会抑制所有其他内容。起初,我专注于正确分组。当然,文档其余部分的内容应该是可见的,但我认为这不是一个大问题。
使用此模板,我只能获得一个大组中的所有元素。
<modul>
<list>
<Aufzhlungbullets>some text</Aufzhlungbullets>
<Aufzhlungbullets>some text</Aufzhlungbullets>
<Aufzhlungbullets>some text</Aufzhlungbullets>
<Aufzhlungbullets>some text</Aufzhlungbullets>
<Aufzhlungbullets>some text</Aufzhlungbullets>
<Aufzhlungbullets>some text</Aufzhlungbullets>
<Aufzhlungbullets>some text</Aufzhlungbullets>
</list>
</modul>
我尝试了很多模板的变体,但都没有成功。如何区分所需元素在文档中的不同组中出现?