Objectif
Le flux XML contient des offres sans vendorCode et des codes-barres comme bad-code. L’import doit garder uniquement les articles avec un code fournisseur et un barcode valide à 13 chiffres.
Réponse courte
Ouvrez les paramètres du noeud répété offer et ajoutez des conditions d’export : vendorCode n’est pas vide et barcode correspond à l’expression régulière ^\d{13}$ (correspond à une valeur composée exactement de 13 chiffres).
Comment le faire dans Eofferix
Dans le snapshot XML, sélectionnez le noeud répété
offer.Ouvrez les paramètres du noeud.

L’animation montre l’ouverture des paramètres du noeud XML répété. Ajoutez deux conditions d’export :
vendorCoden’est pas vide etbarcodecorrespond à^\d{13}$(correspond à une valeur composée exactement de 13 chiffres).
Les deux conditions s’appliquent à l’article entier.
Avant / après
Avant
données source<catalog>
<offers>
<offer id="1001"><vendorCode>VN-1001</vendorCode><barcode>4601234567890</barcode><name>Lampe Elodie</name><price>24.90</price></offer>
<offer id="1002"><vendorCode></vendorCode><barcode>4601234567891</barcode><name>Fauteuil Martin</name><price>139.00</price></offer>
<offer id="1003"><vendorCode>VN-1003</vendorCode><barcode>bad-code</barcode><name>Etagere Loire</name><price>16.40</price></offer>
</offers>
</catalog>Après
résultat<catalog>
<offers>
<offer id="1001"><vendorCode>VN-1001</vendorCode><barcode>4601234567890</barcode><name>Lampe Elodie</name><price>24.90</price></offer>
</offers>
</catalog>Points à retenir
- Placez les conditions sur le noeud
offerpour exclure tout le produit, pas seulement un champ vide. - Si le fournisseur utilise des EAN-8 à 8 chiffres, traitez-le à part ou élargissez l’expression volontairement.
- Vérifiez que
vendorCodeest lu dans le mêmeofferrépété, pas dans l’article voisin.