XSL: Как лучше сохранить узел в переменной, а затем использовать его в будущих выражениях xpath?

Мне нужно иметь возможность хранить набор узлов в переменной, а затем выполнять дополнительную фильтрацию / сортировку. Все примеры, которые я видел, включают использование XSL2 или расширений, ни один из которых на самом деле не вариант

У меня есть список отелей в моем XML-документе, который можно отсортировать / отфильтровать, а затем пролистать по 5 за раз. Я нахожу, хотя я повторяю много логики, так как в настоящее время я не нашел хорошего способа хранить наборы узлов в переменной xsl, а затем использовать xpath для них для дальнейшей фильтрации / сортировки.

Это то, чего я добиваюсь (извините за код, написанный на макушке, поэтому он может быть не на 100%):

<xsl:variable name="hotels" select="/results/hotels[active='true']" />
<xsl:variable name="3_star_or_less" select="/results/hotels[number(rating) <= 3]" />
<xsl:for-each select="3_star_or_less">
  <xsl:sort select="rating" />
</xsl:for-each>

У кого-нибудь есть пример того, как лучше всего делать такие вещи?

Ответы на вопрос(3)

Ваш ответ на вопрос