Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous,
continuation logique de nos développements concernant le SEPA je dois maintenant m'occuper de l'importation des fichiers PSR (Payment Status Report) au format XML.
En fait jusqu'ici le XML n'a jamais été vraiment utilisé dans l'application ( par exemple pour créer les fichiers virements SEPA on crée le XML comme on créerait un fichier texte en fait... on ne rigole pas merci comme disait pas Balavoine on a pas tous le choix...)
enfin bref.
Je n'ai vraiment pas bcp d'expérience non plus avec les DW's XML et donc je me demande quelle sera la meilleure solution pour gérer ces comptes rendus.
lire le fichier comme un fichier texte ?
passer par une DW ?
autre ? (j'ai vu un bout de code sur le fofo pour mettre le contenu d'un XML dans un treeview par exemple.)
Si je dois passer par une DW y a t'il moyen de créer le template d'import XML sur base du pain002.001.03.xsd ? (en PB10 et PB12 ?)
Voilà, si vous avez des conseils, des retours d'expérience voire même un export d'une DW utilisable pour importer ces fichiers (éventuellement en MP) je vous en serai éternellement reconnaissant
Hors ligne
mes 2ct :
- lire le fichier comme un fichier texte : à éviter tu vas te retrouver à recoder la roue (= un parser xml) à moins que le fichier ne soit extrêmement trivial, et encore : ça finira toujours par se compliquer
- tu peux utiliser pbdom pour parser le fichier à ta place, mais la navigation et la récupération des données est à coder entièrement (partir de la racine, chercher le premier fils, itérer sur chaque tag du même niveau, lire les attributs...) pbdom te garantit de gérer correctement l'accès aux données mais pour le reste c'est peut-être un peu lourd
- utiliser une dw est sans doute le plus simple (mais je n'ai pas beaucoup d'expérience avec)
Hors ligne
Salut Seki, tu confirmes ma première impression.
Si vous avez d'autres commentaires / infos n'hésitez pas.
Notamment sur la définition du template XML de la DW, j'ai du faire ça une fois y a longtemps pour un fichier XML tout simple, ici je me dis que ça ve être plus complexe du fait des éléments facultatifs par exemple.
Je ne sais pas trop comment on "navigue" dans une DW XML non plus.
donc si vous avez un conseil là dessus, un lien vers un tuto pour les DWs XML voire un template tout fait...
Hors ligne
Bonjour,
j'avais fait des tests il y a bien longtemps (en PB 10 à l'époque) sur la lecture des XML par une DW avec un template.
En partant du principe que je n'ai pas fait les choses de travers (ce qui n'est pas à exclure) ça ne fonctionne bien que si ton XML n'est pas trop complexe et que tu n'as pas zones facultatives, ou alors il faut créer plusieurs templates mais il faut que tous tes "enregistrements détail" aient la même structure sinon tes données vont être décalées.
J'avais "vite" laissé tombé l'import XML car la batterie de tests effectué n'était pas concluante (ça a peut-être changé depuis)
A l'époque j'avais utilisé la méthode au profit de PBDOM (j'avais modifié un sample d'un prog de passage du XML vers un treeview)
Depuis quand je dois lire du XML je fait un OLE sur Msxml2.DOMDocument.6.0 car on peut, au besoin, faire des requêtes sur le XML, n'ayant pas du tout fouillé le PBDOM je ne sais pas si on peut faire la même chose. J'ai utilisé cette méthode à plusieurs reprises et une fois que l'on comprend comment ça fonctionne ça roule tout seul.
Hors ligne
rincevent a écrit:
Je ne sais pas trop comment on "navigue" dans une DW XML non plus.
Comme dans n'importe quelle DW. Le xml est juste la source de données à la place d'une base de données.
Après c'est du classique : find(), sort(), getitemxxx(), etc.
Je crois que _francois_ a raison : la dw xml c'est bien si tu n'as pas de trucs trop compliqués, sinon ça ne rentre plus dans les cases
La solution pbdom est sans doute la plus lourde à démarrer parce qu'il faut coder la lecture des données, mais elle reste sans doute la plus évolutive.
rincevent a écrit:
donc si vous avez un conseil là dessus, un lien vers un tuto pour les DWs XML voire un template tout fait...
- une présentation sybase qui détaille les notions xml et comment faire avec pbdom
- j'ai retrouvé un exemple sybase d'éditeur xml en PB9 avec pbdom
Hope que ça helpe
Hors ligne
Merci pour ta contribution _francois_ par contre c'est pas très encourageant pour la solution DW tu confirmes un peu mes craintes de problèmes dûs aux champs facultatifs et autres joyeusetés du genre "obligatoire sauf si", "facultatif sauf si"
Donc finalement je ne penche déjà plus trop pour la DW mais plutot pour un parcours du XML via PBDOM ou OLE
La DW je pense que ça va prendre très longtemps à configurer le template pour un résultat pas garanti à mon avis et ça risque de me transformer trop le XML de base à l'importation dans la DW .
Si vous avez d'autres commentaires n'hésitez pas.
Hors ligne
Personnelement j'ai fait comme toi rincevent dw texte.
A l'époque on était sous PB8 et je n'avais pas trouver de moyen de gestion du XML (manque dans la version de PB ou manque d'expérience pour trouver des outils externes je sais pas)
Pour le coup j'ai utiliser notre dw ancetre que j'ai dupliqué et à laquel j'ai ajouter des fonctionnement spécifique au XML (calcul de début et fin de branche XML, création d'une entitié avec ou sans attribut....etc...)
Après c'était clairement du bricolage mais ça tourne. Ce qui manque par contre c'est la gestion des xsd pour la vérification des balises ce qui m'a vallu un retour pour faute de frappe dans une balise.
Hors ligne
ok, merci pour le retour
Hors ligne