2つの値の間にあるノードを持つエントリのみを表示するXSL:IF文を設定しようとしています。十分に簡単ですね。それはちょうどaよりも大きい場合と少ない場合です。再帰的なXSLの作成:If文?
<container>
<entry>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
</entry>
</container>
は今、私は範囲を与えてると言う:問題ではなく、一つのノードに対してそれをテストする私はのは、私はこのようになりますいくつかのXMLを持っているとしましょう、最大52
に対してそれをテストする必要があり、 9-15のノードのいくつかがその範囲に入るので、そのエントリを表示したい。しかし、私が11-15の範囲を与えられていればノードのどれも適合しないので、私はそれを表示したくないでしょう。
問題は...私はあなたがこれをどうやって行うのか全く分かりません。私はあなたが単一の値であることができることを知っていますが、私は各ノードをテストする簡単な方法を考えることができません。
ところで、これはすべてSymphony CMSの最新の安定版リリース内で行われています。
[編集] 最初の2つの結果の問題は、ITEMノードを表示することです。私が探しているのは、一致する少なくとも1つのITEMノードを持つENTRYノードだけを返すことです。私はどのような解決法がこれを助けてくれるかわからない。
@ steamer25:それは、+1です。 @dougoftheabaci:XPathで角括弧が見えるときはいつでも、 "WHERE"(SQLのように)を考えるのが最善です。この解決策では、XPathは「SELECT item from container/entry WHERE value> = 9 AND value <= 15」と解釈されます。これは、SQLステートメントと同様に、セットベースの操作です。 – Tomalak