Pas de problème (pb), que du PowerBuilder (PB) ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 26-03-2008 16:22:32

Adrien  
Membre
Date d'inscription: 26-03-2008
Messages: 5
Pépites: 10,029
Banque: 0

[RESOLU] Export XML...Question

Bonjour,

Travaillant sur Windows XP SP1 avec PowerBuilder v10.5 (build 7016), connecté à une base de donnée Sybase, je suis actuellement confronté à un problème par rapport à la définition d'un template XML. Bien sur, j'ai déjà fait de nombreuses recherches sur le forum mais je n'ai pas trouvé de solution à mon problème (je suis peut-être mauvais ;)).

Mon problème : faire un export XML du type


<EssaiDeGeneration>
     <NuméroEssai>Ce champ ne doit pas être répéte</NuméroEssai>
          <DeliveryPeriods>
               <DeliveryPeriod>
                    <Champ01>2008-07-01 00:00:00</Champ01>
                    <Champ02>2008-07-31 00:00:00</Champ02>
                    <Champ03>4166.66682000</Champ03>
               </DeliveryPeriod>

          </DeliveryPeriods>
     <Divers>Ce champ ne doit pas être répéte</Divers>
     <FloatPriceInformation>
          <ChampDivers>Ce champ ne doit pas être répéte</ChampDivers>
          <CommodiyReference>
               <CalculationPeriods>
                    <CalculationPeriod>
                         <Champ04>1900-01-01 00:00:00</StartDate>
                         <Champ05>1900-01-01 00:00:00</EndDate>
                    </CalculationPeriod>

               </CalculationPeriods>
          </CommodiyReference>
     </FloatPriceInformation>
</EssaiDeGeneration>

Et en fait, le problème est de répéter les ensembles en vert autant de fois qu'il existent dans la plage de données du datawindows, en les laissant dans cette ordre précis (c'est une norme), et ne présentant qu'une seule fois les autres informations. Sachant aussi qu'il y a autant de "DeliveryPeriod" que de "CalculationPeriod".

En fait, j'arrive à répéter soit les blocs "DeliveryPeriod", soit les blocs "CalculationPeriod" en positionnant le "Start Detail" (avec un click droit sur une balise dans la définition du template), mais pas les deux en même temps car un seul "Start Detail" est autorisé dans le template et il ne sont pas dans la même balise...

J'ai essayé d'utiliser des groupes mais je n'arrive pas à obtenir le résultat escompté. Bien sur, si les blocs "DeliveryPeriod" et "CalculationPeriod" étaient dans une même balise, cela ne poserait pas de problème car le "Start Detail" s'appliquerait aux deux, hors ce n'est pas possible.



J'espère avoir été clair et que l'un d'entre vous à déjà rencontré cette problématique pour éventuellement me venir en aide.

Merci d'avance, Adrien.

Dernière modification par Adrien (27-03-2008 09:34:20)

Hors ligne

 

#2 27-03-2008 06:40:14

Cortex  
Modérateur
Lieu: Arlon
Date d'inscription: 08-02-2008
Messages: 194
Pépites: 6,904
Banque: 2,109,818,425,070

Re: [RESOLU] Export XML...Question

Salut,

Ben ecoute, je crois que tu as donc tres bien compris : c'est impossible, parce que tu n'as qu'un "start detail" a la fois par template d'export xml... Ton XML est trop specifique, tu n'y arriveras pas comme ca.

Ce que je propose:
- genere 2 xml, avec juste les "DeliveryPeriod" et l'autre avec que les "Calculation period". Pour cela, tres simple: tu creer 2 templates xml, et tu les interchange au moment de l'export (voir "dw_control.Object.DataWindow.Export.XML.UseTemplate").

- Y a plus qu'a les fusionner!
Pour ca, 3 possibilites:

1 - Methode cra-cra-vite-fait: parser les strings XML exportées "a l'ancienne", avec des Pos(), right(), left(), etc... Et les brancher ensembles... Un peu risque pour le jour ou ton XML changera meme un peu...

2 - Methode rapide: Charge chacun de tes xml exporté dans un pbdom_document, et "re-branche" les balises correctement (voir Aide PB sur PBDOM)

3 - Methode pro: fusionner tes 2 xml exportés par une transformation XSLT. Tant qu'a utiliser du XML, autant profiter des tech annexes
Pour ca, evidement, tu vas devoir trouver un processeur XSLT et coder un wrapper en PB, ce sera donc un peu plus long que (1 et 2), mais beaucoup plus propre, adaptable... et cooool
Pour te donner une idée, va jeter un oeuil sur cette vieille technote de Sybase : http://www.sybase.com/detail?id=1013844
Et n'oublies pas que si tu fais un wrapper pour MSXML il ne faudra pas oublier le code qui verifie qu'il est installe a la bonne version sur les machines client...

Bon travail!

Hors ligne

 

#3 27-03-2008 08:21:47

Adrien  
Membre
Date d'inscription: 26-03-2008
Messages: 5
Pépites: 10,029
Banque: 0

Re: [RESOLU] Export XML...Question

Bonjour,

Tout d'abord merci pour ta réponse.

Pour ce qui est de la solution 1), effectivemment, c'est moyen....

Pour la solution 3), cela me demandera trop de recherche et le besoin est trop pressé, je n'aurais pas le temps de la mettre en oeuvre, mais je la garde sous le coude car ça m'a vraiment l'air top, merci du tuyau ;).

Je pense en fait me baser sur la solution 2) et utiliser PBDOM_BUILDER pour construire un PBDOM_DOCUMENT en construisant une chaîne dans laquelle je concaténerai toutes les informations, j'ai fait des tests hier et ça m'a l'air rapide (certes une évolution impliquera une modification mais ces standards sont assez figés).


En tout cas je tient vraiment à vous remercier et je vous souhaite une bonne journée (le post peut-être flagé résolu).

Cordialement, Adrien.

Hors ligne

 

#4 27-03-2008 09:01:14

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Export XML...Question

Adrien a écrit:

(le post peut-être flagé résolu).

Pas de problème Adrien, il te suffit de modifier le premier message de ce post en ajoutant au titre [RESOLU]


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#5 27-03-2008 09:35:00

Adrien  
Membre
Date d'inscription: 26-03-2008
Messages: 5
Pépites: 10,029
Banque: 0

Re: [RESOLU] Export XML...Question

Bonjour,

Autant pour moi je n'avais trouvé, c'est maintenant fait.

Merci encore.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22