Недавно столкнулся с проблемой, решения которой пока не нашел.
Мне дан файл XML с плоской иерархией, и я хочу преобразовать его в определенную иерархию.
<xml_file>
<dd/>
<b/>
<b/>
<dd/>
<b/>
<b/>
<dd/>
<k/>
<b/>
<b/>
<dd/>
<b/>
<b/>
</xml_file>
Во что я хочу превратить это:
<xml_file>
<dd>
<b/>
<b/>
</dd>
<dd>
<b/>
<b/>
</dd>
<dd>
<k>
<b/>
<b/>
</k>
</dd>
<dd>
<b/>
<b/>
</dd>
</xml_file>
Как лучше всего это сделать с помощью xslt 2.0?
Большое спасибо за твою помощь.
Изменить:
Извини. я толком не объяснила..
Мне дан список элементов, которые упорядочены по порядку в списке.
Все b и k после dd должны быть дочерними элементами предшествующего dd.
Все b после k должны быть дочерними элементами предыдущего k.
xml_file
) ни один из тегов не связан с закрывающими тегами, а это означает, что XSLT не сможет его обработать. - person Tim C   schedule 29.08.2017xsl:for-each-group group-starting-with
например.<xsl:for-each-group select="*" group-starting-with="dd"><xsl:copy><xsl:for-each-group select="current-group() except ." group-starting-with="k">...
- person Martin Honnen   schedule 29.08.2017