Я хочу создать упорядоченный по алфавиту список из файла XML. В XML-файле у меня есть много <index-elements>
, которые должны быть частью списка, я просто выбираю их все //index-elements
. Я также хочу добавить другой вид элементов, называемый <name>
, к тому же списку в правильной позиции (по алфавиту). Обычно я использую цикл <xsl:for-each-group group-by="..." select="...">
в сочетании с функцией <xsl:sort lang="lang-code">
, но я не могу выбрать более одного набора узлов. Это первый случай, когда мне нужно добавить два разных элемента в один отсортированный результат. На данный момент я не знаю, как решить эту проблему.
XML
<section>
<child>
<index-elements>Gamma</index-elements>
</child>
<child>
<index-elements>Zeta</index-elements>
</child>
</section>
<section>
<child>
<index-elements>Alpha</index-elements>
</child>
<child>
<new-element>
<index-elements>Delta</index-elements>
</new-element>
</child>
</section>
<section>
<some-element>
<name>Epsilon</name>
</some-element>
<some-element>
<name>Beta</name>
</some-element>
</section>
Ожидаемый результат
Alpha
Beta
Gamma
Delta
Epsilon
Zeta