Задача
В XML-фиде есть товары без vendorCode и товары со штрихкодом вроде bad-code. В импорт должны попасть только позиции с кодом поставщика и валидным 13-значным barcode.
Короткий ответ
Откройте настройки повторяющегося узла offer и добавьте условия экспорта: vendorCode не пустой, а barcode соответствует регулярному выражению ^\d{13}$ (находит строку, которая целиком состоит ровно из 13 цифр).
Как сделать в Eofferix
В XML-снапшоте выберите повторяющийся узел
offer.Откройте настройки узла.

Анимация показывает открытие настроек повторяющегося XML-узла. Добавьте два условия экспорта:
vendorCodeне пустой иbarcodeпо регулярному выражению^\d{13}$(находит строку, которая целиком состоит ровно из 13 цифр).
Оба условия применяются к товару целиком.
Было / стало
Было
исходные данные<catalog>
<offers>
<offer id="1001"><vendorCode>VN-1001</vendorCode><barcode>4601234567890</barcode><name>Лампа Ладога</name><price>24.90</price></offer>
<offer id="1002"><vendorCode></vendorCode><barcode>4601234567891</barcode><name>Кресло Волга</name><price>139.00</price></offer>
<offer id="1003"><vendorCode>VN-1003</vendorCode><barcode>bad-code</barcode><name>Полка Нева</name><price>16.40</price></offer>
</offers>
</catalog>Стало
результат<catalog>
<offers>
<offer id="1001"><vendorCode>VN-1001</vendorCode><barcode>4601234567890</barcode><name>Лампа Ладога</name><price>24.90</price></offer>
</offers>
</catalog>Что важно помнить
- Условия нужно ставить на узел
offer, чтобы исключался весь товар, а не только пустое поле. - Если поставщик использует 8-значные EAN-8, сделайте отдельный кейс или расширьте регулярное выражение осознанно.
- Проверьте, что
vendorCodeберется из того же повторяющегосяoffer, а не из соседнего товара.