Мне нужно иметь возможность хранить набор узлов в переменной, а затем выполнять дополнительные операции фильтрации / сортировки. Все примеры, которые я видел, включают использование 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>
У кого-нибудь есть пример того, как лучше всего делать подобные вещи?