Certaines fiches produit du XML source n’ont pas de code fournisseur et d’autres contiennent un code-barres qui ne comporte pas exactement 13 chiffres. Le résultat doit conserver uniquement les fiches qui remplissent les deux conditions.
Repérez le nœud répété qui représente un produit et ouvrez ses paramètres. Appliquez les conditions à l’élément entier, exigez que votre champ de code fournisseur ne soit pas vide et vérifiez votre champ de code-barres avec ^\d{13}$.
Comment le faire dans Eofferix
Dans l’instantané XML, repérez le nœud répété qui représente un produit. Dans le XML d’exemple, il s’appelle
product.
Dans l’exemple, le nœud product est sélectionné. Dans votre XML, sélectionnez le nœud répété qui représente une fiche produit, même s’il s’appelle offer, item, position ou autrement. Faites correspondre les nœuds de l’exemple aux nœuds ou attributs équivalents de votre XML. Vous n’avez pas besoin de renommer les nœuds du XML source.
Les noms de cet article sont uniquement des exemples.product,supplierCodeetgtinne sont pas des noms imposés par Eofferix. Utilisez les chemins réels de votre XML.Dans cet article Dans votre XML productLe nœud répété qui représente une fiche produit, par exemple offer,item,positionou un autre nom.supplierCodeVotre champ de code fournisseur, par exemple vendorCode,sku,articleou l’attribut correspondant.gtinVotre champ de code-barres, par exemple barcode,ean,gtinou l’attribut correspondant.Ouvrez les paramètres du nœud répété, développez Conditions d’export et sélectionnez Pour l’élément entier. Ajoutez deux conditions :
- votre champ de code fournisseur — Avant transformations → non vide ;
- votre champ de code-barres — Avant transformations → expression régulière →
^\d{13}$.

Le cadre rouge couvre toute la configuration : supplierCode, gtin et Pour l’élément entier. Ces noms appartiennent uniquement au XML d’exemple. Vérifiez plusieurs éléments avec Autres valeurs ou l’aperçu. Les conditions fonctionnent ensemble : si l’une échoue, l’élément répété entier est exclu.
Cliquez sur Enregistrer dans les paramètres du nœud, enregistrez le modèle et passez à la transformation. Après son exécution, contrôlez le XML final et pas seulement l’instantané.
Ce que vérifie l’expression régulière
^\d{13}$ signifie que la valeur entière, du début à la fin, doit contenir exactement 13 chiffres.
- Correspond :
4006381333931. - Ne correspond pas :
bad-code,12345678ni400-638-1333931. - Dans la configuration illustrée, les deux conditions sont exécutées Avant transformations et vérifient donc les valeurs source. Si vous changez le moment du contrôle, vérifiez de nouveau le résultat dans l’aperçu.
Avant / après
Les noms product, supplierCode et gtin servent uniquement à cette démonstration. Le résultat conserve le seul élément qui passe les deux contrôles.
Avant
données source<catalog>
<products>
<product id="1001">
<supplierCode>VN-1001</supplierCode>
<gtin>4006381333931</gtin>
<name>Lampe Élodie</name>
<price>24.90</price>
</product>
<product id="1002">
<supplierCode></supplierCode>
<gtin>4601234567893</gtin>
<name>Fauteuil Martin</name>
<price>139.00</price>
</product>
<product id="1003">
<supplierCode>VN-1003</supplierCode>
<gtin>bad-code</gtin>
<name>Étagère Loire</name>
<price>16.40</price>
</product>
</products>
</catalog>Après
résultat<catalog>
<products>
<product id="1001">
<supplierCode>VN-1001</supplierCode>
<gtin>4006381333931</gtin>
<name>Lampe Élodie</name>
<price>24.90</price>
</product>
</products>
</catalog>