Skip to main content

From XML

Parse une colonne contenant du XML et en extrait des champs en colonnes typées, via XPath.

Le besoin vient des XML embarqués : la pièce jointe Factur-X d'un PDF arrive dans une colonne, pas dans un fichier. La Source fichier en format XML ne sait lire que des fichiers.

Paramètres​

ParamètreDéfautDescription
columncontentColonne contenant le XML (content en sortie de la source fichier en PDF).
ignore_namespacestrueRetire les préfixes d'espace de noms avant extraction.
fields[]Un champ par colonne produite : XPath, nom de colonne, type.
multiple_separator|Séparateur quand un champ retient plusieurs valeurs.
drop_sourcefalseSupprimer la colonne source après extraction.
on_errorfailfail (arrêt) ou continue (ligne vide + colonne d'erreur).
error_columnxml_errorRenseignée en mode continue.

Espaces de noms​

Les formats de facture électronique — Factur-X, ZUGFeRD, Order-X — reposent sur CII, très chargé en espaces de noms. Avec ignore_namespaces actif, l'XPath s'écrit //GrandTotalAmount au lieu de //rsm:SupplyChainTradeTransaction/ram:....

Si vous devez les conserver, désactivez l'option et utilisez local-name() : //*[local-name()='GrandTotalAmount'].

Exemple : facture Factur-X​

XPathColonneType
//ExchangedDocument/IDnumeroTexte
//SellerTradeParty/NamefournisseurTexte
//LineTotalAmounttotal_htNombre
//TaxTotalAmounttvaNombre
//GrandTotalAmounttotal_ttcNombre

Les montants sortant en colonnes numériques, la vérification arithmétique total_ht + tva == total_ttc se fait ensuite avec Qualité.

Lot mixte

Une ligne dont la colonne source est vide — un PDF scanné dans un lot qui contient aussi des Factur-X — produit des colonnes vides sans erreur. Inutile de filtrer en amont.

XPath erroné

Les expressions sont compilées avant le parcours des lignes : une faute de syntaxe remonte immédiatement comme erreur de configuration, et non comme un décompte de lignes illisibles.