Après windows pour les nuls, voici PB pour les bons (ou presque).

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 09-09-2011 15:34:01

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 609
Pépites: 2,087
Banque: 3,536,631,712,504

[RESOLU] XML : récupération du fichier XSD dans la template

Bonjour,

Pour la création d'un fichier XML, est-il possible de récupérer un fichier XSD provenant d'un client pour le positionner dans la template, plutot que de laisser PB la construire lui même ?

Même si, la template construite par PB est le résultat de la construction de la dw ?

Merci d'avance pour votre retour,

Hors ligne

 

#2 12-09-2011 10:06:48

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 609
Pépites: 2,087
Banque: 3,536,631,712,504

Re: [RESOLU] XML : récupération du fichier XSD dans la template

wazou1812 a écrit:

Bonjour,

Pour la création d'un fichier XML, est-il possible de récupérer un fichier XSD provenant d'un client pour le positionner dans la template, plutot que de laisser PB la construire lui même ?

Même si, la template construite par PB est le résultat de la construction de la dw ?

Merci d'avance pour votre retour,

Bonjour,

La question pourrait être également être demandée de la manière suivante : Existe-t-il une méthode (automatique) pour s'assurer que le template mis à jour et éventuellement modifié dans PB correspond bien au template attendu par le client destinataire du fichier XML ?

Merci d'avance,

Hors ligne

 

#3 16-09-2011 15:43:39

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 609
Pépites: 2,087
Banque: 3,536,631,712,504

Re: [RESOLU] XML : récupération du fichier XSD dans la template

Bonjour,

J'ai logué un appel chez Sybase sur le sujet, et réponse négative, même en version 12.5, cela n'est pas encore possible

Il faut donc créer un template à l'identique du fichier XSD fournit par le fournisseur,

Hors ligne

 

#4 16-09-2011 20:03:32

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Re: [RESOLU] XML : récupération du fichier XSD dans la template

Bonjour Wazou,

moi aussi, a l'époque j'ai rencontré le même problème pour gérer les messages swift la norme XML 20022. Donc, j'étais obligé de vérifier le messages swift récus du client syntaxiquement en le comparant par rapport au fichier XSD. PowerBuilder n'est pas très riche coté manipulation des données XML.

Je rappelle bien que j'ai déja utilisé PBDOM pour coder la structure finale du message..

bon courage
A+

Hors ligne

 

#5 19-09-2011 07:33:15

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 609
Pépites: 2,087
Banque: 3,536,631,712,504

Re: [RESOLU] XML : récupération du fichier XSD dans la template

mattdamon a écrit:

Bonjour Wazou,

moi aussi, a l'époque j'ai rencontré le même problème pour gérer les messages swift la norme XML 20022. Donc, j'étais obligé de vérifier le messages swift récus du client syntaxiquement en le comparant par rapport au fichier XSD. PowerBuilder n'est pas très riche coté manipulation des données XML.

Je rappelle bien que j'ai déja utilisé PBDOM pour coder la structure finale du message..

bon courage
A+

Bonjour,

Et PBDOM permet de controler un fichier XML avec un fichier XSD ?

Merci

Hors ligne

 

#6 19-09-2011 07:43:26

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 708
Pépites: 11,303
Banque: 100,221,387,868,884,300
Site web

Re: [RESOLU] XML : récupération du fichier XSD dans la template

Bonjour,
regardes du côté de la fonction XMLParseFile, je l'utilise pour faire çà.


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#7 19-09-2011 10:45:00

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 609
Pépites: 2,087
Banque: 3,536,631,712,504

Re: [RESOLU] XML : récupération du fichier XSD dans la template

xlat a écrit:

Bonjour,
regardes du côté de la fonction XMLParseFile, je l'utilise pour faire çà.

Bonjour,

J'avais déjà vu ces 2 fonctions, mais d'après ce que j'ai compris, elle permettent de parser un fichier xml et de contrôler la bonne conformité du fichier à condition que le schema soit inclus dans le fichier XML ?

Dans le cas ou nous sommes émetteur d'un fichier xml, si nous voulons contrôler la validité du fichier xml avec  le fichier XSD fournit par le fournisseur, nous ne pouvons pas utiliser ces fonctions ?

Et autre question sur le sujet, est-il possible dans le fichier xsd généré par PB de préciser des restrictions ? pa exemple des valeurs énumérées  "enumeration value" ou des longueurs maximum "length value" ?

Merci d'avance pour votre retour,

Hors ligne

 

#8 19-09-2011 13:30:20

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 708
Pépites: 11,303
Banque: 100,221,387,868,884,300
Site web

Re: [RESOLU] XML : récupération du fichier XSD dans la template

wazou1812 a écrit:

J'avais déjà vu ces 2 fonctions, mais d'après ce que j'ai compris, elle permettent de parser un fichier xml et de contrôler la bonne conformité du fichier à condition que le schema soit inclus dans le fichier XML ?

quand tu écris "à condition que le schema soit inclus dans le fichier XML", il s'agit uniquement de référencer.
par exemple, ton fichier XML doit inclure une ligne comme celle-ci (schemaLocation) :

Code: :xml

<document xsi:schemaLocation="http://www.pbadonf.fr/2011/forum ../ton-schema.xsd">

Et là je dis oui, c'est nécessaire.
Mais dans le cas où il n'y en a pas dans le XML , alors je le bricole en mémoire pour lui injecter la référence au schema et j'utilise XMLParseString pour valider en mémoire.


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#9 19-09-2011 14:54:56

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 609
Pépites: 2,087
Banque: 3,536,631,712,504

Re: [RESOLU] XML : récupération du fichier XSD dans la template

xlat a écrit:

wazou1812 a écrit:

J'avais déjà vu ces 2 fonctions, mais d'après ce que j'ai compris, elle permettent de parser un fichier xml et de contrôler la bonne conformité du fichier à condition que le schema soit inclus dans le fichier XML ?

quand tu écris "à condition que le schema soit inclus dans le fichier XML", il s'agit uniquement de référencer.
par exemple, ton fichier XML doit inclure une ligne comme celle-ci (schemaLocation) :

Code: :xml

<document xsi:schemaLocation="http://www.pbadonf.fr/2011/forum ../ton-schema.xsd">

Et là je dis oui, c'est nécessaire.
Mais dans le cas où il n'y en a pas dans le XML , alors je le bricole en mémoire pour lui injecter la référence au schema et j'utilise XMLParseString pour valider en mémoire.

bonjour,

Et pour bricoler en mémoire pour ajouter cette ligne, tu utilises le PBDOM, ou plutot OpenFile.... ?

Et au sujet des restrictions, tu as trouvé si ont peut les ajouter d'une manière ou d'une autre dans le fichier xsd généré ?

Merci d'avance,

Hors ligne

 

#10 19-09-2011 16:26:42

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 708
Pépites: 11,303
Banque: 100,221,387,868,884,300
Site web

Re: [RESOLU] XML : récupération du fichier XSD dans la template

je fais un OpenFile... car le XML n'est pas construit par PB pour des raisons de performances (j'utilise le mod perl XML::Writer) , mais tu peux ajouter l'attribut schemaLocation avec PBDOM si c'est le générateur XML que tu utilises.

pour ton autre question, je ne sais pas; j'utilise des XSD qui nous sont fournis de l’extérieur. Il semblerait que la MetaData (XMLSchema! ou XMLDTD!) généré par PB soit assez rigide, je dirait que tu n'as pas vraiment la main dessus.


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22