編集: ESXLT機能にもアクセスできます。
文字列トークンの 2 つのノード セットがあります。1 つのセットには、次のような値が含まれます。
/Geography/North America/California/San Francisco
/Geography/Asia/Japan/Tokyo/Shinjuku
もう 1 つのセットには、次のような値が含まれます。
/Geography/North America/
/Geography/Asia/Japan/
私の目標は、2 つの間の「一致」を見つけることです。セット 1 のいずれかの文字列がセット 2 の文字列で始まる場合に一致します。たとえば、/Geography/North America/California/San Franciscoと/Geography/North America/の間で一致が作成されます。セット 2 の文字列で始まります。
サードパーティの拡張機能を使用して、ワイルドカードを使用して文字列を比較できます。Xpath 内ですべて正規表現を使用することもできます。
私の問題は、両方のセットのすべてのノード間で関数を使用して選択する Xpath をどのように構成するかです。XSL も実行可能なオプションです。
このXPATH:
count($set1[.=$set2])
set1 と set2 の間の交差の数が得られますが、これは 1 対 1 の比較です。ノードを比較する他の手段を使用することは可能ですか?
編集:私はこれを機能させましたが、他のサードパーティの拡張機能を使用して同じ結果を得るために不正行為をしています。これを実現するための他の方法にまだ興味があります。