Выражение XPATH для определения получателя в SAP PI
У меня есть требование, при котором мне нужно определить получателя на основе условия в выражении SAP PI XPATH. Может кто-нибудь поможет, пожалуйста.
условие 2:
<bizTransactionList><bizTransaction type>
содержит значениеurn:epcglobal:cbv:btt:resadv, это тоже верно, но необходимо проверить еще два условия, как указано ниже в разделе "Исключение
кроме:- когда последний сегмент значения содержит строку ".008" в <Biztransaction>
и что <bizStep>
содержит слово "ввод в эксплуатацию" или
когда последний сегмент значения содержит строку ".008" в <Biztransaction>
и что <bizStep>
содержит слово "получение"
1 ответ
Строго говоря, должен работать следующий XPath:
//bizTransaction[@type="urn:epcglobal:cbv:btt:prodorder"]|//bizTransaction[@type="urn:epcglobal:cbv:btt:resadv"][contains(.,".008")][preceding::bizStep[1][not(contains(text(),"commissioning") or contains(text(),"receiving"))]]
Выход: 2 узла
Мы используем |
оператор для "соединения" двух выражений. Первая часть выберет элемент "bizTransaction" относительно 1 условия ("urn:epcglobal:cbv:btt:prodorder"). Вторая часть выберет элемент "bizTransaction" с учетом 3 условий: "urn:epcglobal:cbv:btt:resadv", ".008" и с элементом "bizStep", который не содержит двух конкретных ключевых слов ("ввод в эксплуатацию" или "получение")..