と条件チェックを複雑:プロセスは、私はのようなXMLファイルを持っているXSLT 1.0
<root>
<node ID="1" />
<node ID="2" />
<node ID="3" />
<node ID="4" />
<node ID="5" />
<node ID="6" />
<node ID="7" get="1" />
<node ID="8" get="1 & 3" />
<node ID="9" get="(2 | 23) & 3" />
<node ID="10" get="((2 | 3) & 1) & 15" />
</root>
は、第二のための最初の6つのノードを無視します。私のXSLTはノード7-10を処理しています。 私がしたいのは、ノードが存在するかどうかと数式に基づいて真または偽になる式として「取得」を「処理する」ことです。&
はlogical and
であり、|
はlogical or
である。
そこで、例えば:ノード1は、ノード1とノード3の両方が
- ノード7 XSLTは真を返すことになりますノード2とノード3は、ノード15は、
or
純粋なXSLT 1.0でこれを行うにはどうしますか?
get
値の形式を変更することができます。他の形式があれば、自分がしたいことをより簡単に行うことができます。
私がチェックしたいノード(この場合は7-10)のget
の値を、式を「処理」して真または偽を返す関数に送信する必要があると仮定します。
:あなたの入力XMLにそれを適用すると、次のような結果になります 'GET'属性の名前は、* *検索を示唆まだブールコネクタの使用は、*論理示唆します評価*。どちらですか?あなたの例は検索を示唆していますが、検索する項目の単なる区切り記号として扱うことで、 'と'の論理的性質を否定します。さらに、あなたの例は論理 'または'を無視します - あなたはどのように "得る"でしょうか? 4? – kjhughes
パラメータ名 'get'は何でもかまいません。私はちょうど簡単にするためにそれを '取得'と呼んでいます。アイデアは、XSLTが現在ノード7を見ているということです。ノードのID値に基づいてノードを取得するために、 'get'パラメータの式を使用します。より良いアイデアを提供するために、ノード7の例を更新しました。 – IMTheNachoMan
あなたはまだ '' 2 ''を得る方法を指定していません。 4 'とは異なります。 – kjhughes