3

重複の可能性:
変数が要素のセットに属しているかどうかを確認する XSLT 式

パラメータ が与えられた$name場合、その値が有限個の値の 1 つと等しいかどうかを確認するための簡潔でクリーンな方法は何ですか?

たとえば、これらのwhenテストの内容がまったく同じだったので、最初の 3 つのテストをマージしたいとします。

<choose>
  <when test="$name='Alice'">
  <when test="$name='Bob'">
  <when test="$name='Cindy'">
  <when test="$name='Dave'">
  <otherwise>

test="$name in ['Alice','Bob','Cindy']"実際に有効であることを除いて、のようなもの:P

4

2 に答える 2

8

XSLT 2.0 では、 を使用するだけで十分$name = ('Alice', 'Bob', 'Cindy')です。

于 2012-10-25T15:41:23.477 に答える
2

使用 (XSLT 1.0 と XSLT 2.0 の両方) :

contains('|Alice|Bob|Cindy|', concat('|', $name, '|'))

そして、Martin Honnen がすでに述べたように、XPath 2.0 (XSLT 2.0) でのみ、次のように簡単に書くことができます

$name = ($seqOfNames)
于 2012-10-25T15:35:51.170 に答える