Я пытаюсь сортировать XML-документ с помощью XSLT и хочу оставлять комментарии. Пока что так хорошо, так как есть ответы на этот вопрос уже (см. Соответствующие ..). Но! ни один из них (отлично) ответов не относятся к XML, который выглядит следующим образом:Сортировка XML с использованием XSLT при сохранении нескольких комментариев
<xml>
<beatles>
<!-- comment(1): john is actually my favourite -->
<!-- comment(2): John died tragically in 1980 -->
<beatle name="John"/>
<beatle name="Ringo"/>
<beatle name="George"/>
<!-- comment(1): Paul still does live concerts to this day -->
<!-- comment(2): contrary to common folklore, Paul is NOT dead! -->
<beatle name="Paul"/>
</beatles>
</xml>
Что происходит сейчас? Я хочу, чтобы отсортировать Beatles (да благословит их) по имени, а также сохранить все комментарии каждого битла на месте, для того, чтобы получить этот результат:
<xml>
<beatles>
<beatle name="George"/>
<!-- comment(1): john is actually my favourite -->
<!-- comment(2): John died tragically in 1980 -->
<beatle name="John"/>
<!-- comment(1): Paul still does live concerts to this day -->
<!-- comment(2): contrary to common folklore, Paul is NOT dead! -->
<beatle name="Paul"/>
<beatle name="Ringo"/>
</beatles>
</xml>
Хороший старый предшествующее-родственный :: комментарий () [1] здесь не будет работать. В обычном коде я просто делал обратный цикл по всем предыдущим комментариям и останавливался, когда попадал в узел без комментариев; но, как мы все знаем, XSLT для каждого не может быть экранирован.
Любые мысли?
TIA!
DF.
Хороший вопрос, +1. Я думаю, что @ Tim-C дал вам идеальный ответ. –