Я хочу обернуть группы элементов новым родительским элементом. Такие группы появляются во многих местах в документе. Элементы не имеют атрибута.
С помощью 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>
Я перепробовал много вариантов моего шаблона - безуспешно. Как я могу различить, что требуемые элементы появляются в разных группах в документе?