XSLT 1.0 を使用して HTML に変換された XML ファイルがありますが、ユーザーの選択に従ってデータを並べ替えたいと考えています。選択のためにPHPで変数を設定しましたが、動作しますが、この条件付きソートを行う方法がわかりません。
ここで、変数 $sort_by を使用した私のコード:
<xsl:for-each select="gpx:gpx/gpx:wpt">
<xsl:choose>
<xsl:when test="$sort_by = 'name'">
<xsl:sort select="grdspk:cache/grdspk:name"/>
</xsl:when>
<xsl:when test="$sort_by = 'owner'">
<xsl:sort select="grdspk:cache/grdspk:owner"/>
</xsl:when>
<xsl:when test="$sort_by = 'difficulty'">
<xsl:sort select="grdspk:cache/grdspk:difficulty"/>
</xsl:when>
</xsl:choose>
このコードは機能しません。「そのコンテキスト内では要素の並べ替えは許可されていません」というコンパイル エラーが発生します。
ご協力いただきありがとうございます!