0

次の問題があります。ノードの存在をチェックするポリシーを実行したいのですが、その後、値が 0 より大きいかどうかをチェックする必要があります。

「xmlDoc」があり、ノード「test」が存在するかどうか、および「test」の値が 0 より大きいかどうかを確認したいとします。

<xmlDoc>
    <test>5</test>
</xmlDoc>

ノードが存在する場合は問題ありません。ただし、ノードが欠落している場合、すべての地獄の休憩が失われます..彼がクラッシュする理由は明らかです。ノード「test」が見つからないため、その値を確認できません。

私の質問: BizTalk BRE で、ノードの存在と値をクラッシュせずにチェックすることは可能ですか?

4

2 に答える 2

1

条件のリストに「存在する」述語がありますが、値の事実も評価されるため、これは常に機能するとは限りません。

これに対処するために私が見つけた1つの方法は、語彙項目を作成し、存在しない可能性のある要素、この場合は「テキスト」を指すようにセレクターを調整することです。

その場合、XPath フィールドは /text() ノードになります。

このようにして、セレクタ パスが null を返す場合、BRE はその事実が存在しないことを認識し、それを必要とするルールは評価されません。

于 2014-03-20T13:53:34.947 に答える