0

私はXSLTを持っています

<xsl:for-each select="$Rows">
<xsl:sort select="@ows_plstx" order="ascending" />

出力する必要があります。最初の並べ替え値はテキスト値 @ows_plstx='specific value' と定義され、次に xslt は他の @ows_plstx 値を昇順で並べ替えます。

最初に定義された @ows_plstx 固有の値

その他の @ows_plstx 値

...

...

どうすればそれを達成できますか?申し訳ありませんが、私は XSLT にあまり詳しくありません。

4

1 に答える 1

0

ブール値 true は数値 1 に変換され、ブール値 false は数値 0 に変換されるという事実を利用できます。

<xsl:for-each select="$Rows">
  <xsl:sort select="number(@ows_plstx = 'specific value')"
            order="descending" data-type="number" />
  <xsl:sort select="@ows_plstx" order="ascending" />

number(@ows_plstx = 'specific value')「特定の値」の場合は 1 で、他のすべての値の場合は 0 であるため、これらの数値で降順に並べ替えると、「特定の値」が最初になります。技術的にnumber()はその選択での呼び出しは必要ありませんが、少し明確になると思います。

于 2013-03-27T16:16:34.353 に答える