1

これは XML ドキュメントのサンプルです。

<A>
  <Value>B2.B1-1.C2-0.D20</Value>
</A>
<A>
  <Value>A2.B15-1.C2-0.D20</Value>
</A>
<A>
  <Value>A2.B2-1.C2-0.D20</Value>
</A>

等々。

これを次のように並べ替える必要があります

A2.B2-1.C2-0.D20 A2.B15-1.C2-0.D20 B2.B1-1.C2-0.D20

ドットで区切られたコンポーネントの数は不明であり、それらの数字は任意の形式 (1-1,11,11abcd) である可能性があります。通常予想されるように、並べ替えは直感的です。最初は文字に基づいており、数字がまとめられて読み取られます (B2 と B15 は正しい順序です。字句順序 B15 、 B2 は正しくありません)。

これは XSLT 1.0 で実行できますか?

4

1 に答える 1

0

XSLTは、並べ替えがどのように機能するかを正確に定義していません。結果は実装によって定義されます。

Saxonの最近のリリースでは、必要なことを実行する照合がありますが、それはXSLT2.0を前提としています。実際、それはサクソン人を想定しています。

XSLT 1.0で移植可能な方法でそれを行うのは簡単ではありません。特に、再帰テンプレートを呼び出してソートキーを計算することができないためです。

于 2012-05-30T09:24:23.547 に答える