XSL: Wie speichere ich einen Knoten am besten in einer Variablen und dann in zukünftigen xpath-Ausdrücken?

Ich muss in der Lage sein, einen Knotensatz in einer Variablen zu speichern und ihn anschließend weiter zu filtern / sortieren. Alle Beispiele, die ich gesehen habe, beinhalten entweder die Verwendung von XSL2 oder Erweiterungen, von denen keine wirklich eine Option ist.

Ich habe eine Liste von Hotels in meinem XML-Dokument, die sortiert / gefiltert und dann jeweils 5 Mal durchgeblättert werden können. Ich finde, obwohl ich eine Menge der Logik wiederhole, da ich derzeit keine gute Möglichkeit gefunden habe, Knotensätze in einer xsl-Variablen zu speichern und dann xpath für das weitere Filtern / Sortieren zu verwenden.

Das ist das, wonach ich suche (entschuldigen Sie, dass der Code oben auf meinem Kopf nicht 100% ist):

<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>

Hat jemand ein Beispiel dafür, wie man so etwas am besten macht?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage