[WD16] problème lors de la création de XML à partir d'un XSD

Le
courdi95
Bonjour,

Cela fait deux jours que je me bats contre Windev et que j'essaye de
créer un fichier GPX (format 1.0) dont le description .xsd est fournie
ici : http://www.topografix.com/GPX/1/0/gpx.xsd

J'ai importé la description dans Windev ("Descriptions XML"), et j'ai
crée un tout petit programme . Il est très simple (voir dans le
protocole de reproduction).

Les premieres instructions fonctionnent très bien et je peux constater
dans le débuggeur que la structure GPX se construit bien.

Toutefois arrivé à l'instruction :

fichier_GPX.gpx.rte[1].rtept[1]:lat = "49"

j'ai un plantage : "L"attribut lat n'existe pas" . alors qu'elle
figure clairement dans le schéma sous "rtept" que se passe-t-
il ??????

Cordialement.


Programme de création du GPX
=

fichier_GPX est un xmlDocument <description="GPX_1_0_schema">

fichier_GPX.gpx.author = "Moi"
fichier_GPX.gpx.desc = "ma route"
fichier_GPX.gpx:creator = "encore moi"

// route
fichier_GPX.gpx.rte[1].desc = "premiere route"
fichier_GPX.gpx.rte[1].cmt = "essai"

// point de la route
fichier_GPX.gpx.rte[1].rtept[1]:lat = "49"
fichier_GPX.gpx.rte[1].rtept[1]:lon = "2"
fichier_GPX.gpx.rte[1].rtept[1].ele = "20"

==
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JeAn-PhI
Le #23517761
Après mûre réflexion, courdi95 a écrit :
Bonjour,

Cela fait deux jours que je me bats contre Windev et que j'essaye de
créer un fichier GPX (format 1.0) dont le description .xsd est fournie
ici : http://www.topografix.com/GPX/1/0/gpx.xsd

J'ai importé la description dans Windev ("Descriptions XML"), et j'ai
crée un tout petit programme .... Il est très simple (voir dans le
protocole de reproduction).

Les premieres instructions fonctionnent très bien et je peux constater
dans le débuggeur que la structure GPX se construit bien.

Toutefois arrivé à l'instruction :

fichier_GPX.gpx.rte[1].rtept[1]:lat = "49"

j'ai un plantage : "L"attribut lat n'existe pas" .... alors qu'elle
figure clairement dans le schéma sous "rtept" ... que se passe-t-
il ??????

Cordialement.


========= Programme de création du GPX =========== >
fichier_GPX est un xmlDocument <description="GPX_1_0_schema">

fichier_GPX.gpx.author = "Moi"
fichier_GPX.gpx.desc = "ma route"
fichier_GPX.gpx:creator = "encore moi"

// route
fichier_GPX.gpx.rte[1].desc = "premiere route"
fichier_GPX.gpx.rte[1].cmt = "essai"

// point de la route
fichier_GPX.gpx.rte[1].rtept[1]:lat = "49"
fichier_GPX.gpx.rte[1].rtept[1]:lon = "2"
fichier_GPX.gpx.rte[1].rtept[1].ele = "20"

===========================


en regardant l'exemple de l'aide xmlDocument (Type de variable), la
création des noeuds n'a pas l'air d'être automatique

exemple extrait de l'aide :
// Création d'une variable XML
xmlFacture est un XMLDocument,Description="Modele_Facture"
// Note : ,description="Modele_Facture" est optionnel.
// Cette notation permet d'avoir une aide à la saisie si un fichier XML
exemple a été importé

xmlUnNoeud est un xmlNoeud

// Création de la racine (car la création automatique se fait
uniquement à un niveau)
xmlUnNoeud..Nom="LISTE_DE_FACTURES"
Ajoute(xmlFacture,xmlUnNoeud)

// ----Création d'une nouvelle facture
xmlUnNoeud..Nom="FACTURE"
Ajoute(xmlFacture.LISTE_DE_FACTURES,xmlUnNoeud)

// Création des éléments de la facture
xmlFacture.LISTE_DE_FACTURES.FACTURE[1].Numéro=1
xmlFacture.LISTE_DE_FACTURES.FACTURE[1].TOTAL2.6
xmlFacture.LISTE_DE_FACTURES.FACTURE[1].TVA.6

// Création d'une nouvelle ligne de facture
xmlUnNoeud..Nom="LIGNE_FACTURE"
Ajoute(xmlFacture.LISTE_DE_FACTURES.FACTURE[1],xmlUnNoeud)
xmlFacture.LISTE_DE_FACTURES.FACTURE[1].LIGNE_FACTURE[1].Description="Description
ligne 1 facture 1"
xmlFacture.LISTE_DE_FACTURES.FACTURE[1].LIGNE_FACTURE[1].MONTANT„.25

// Création d'une nouvelle ligne de facture
xmlUnNoeud..Nom="LIGNE_FACTURE"
Ajoute(xmlFacture.LISTE_DE_FACTURES.FACTURE[1],xmlUnNoeud)
xmlFacture.LISTE_DE_FACTURES.FACTURE[1].LIGNE_FACTURE[2].Description="Description
ligne 2 facture 1"
xmlFacture.LISTE_DE_FACTURES.FACTURE[1].LIGNE_FACTURE[2].MONTANTˆ.35

//----Création d'une nouvelle facture
xmlUnNoeud..Nom="FACTURE"
Ajoute(xmlFacture.LISTE_DE_FACTURES,xmlUnNoeud)

// Création des éléments de la facture
xmlFacture.LISTE_DE_FACTURES.FACTURE[2].Numéro=2
xmlFacture.LISTE_DE_FACTURES.FACTURE[2].TOTAL"5.65
xmlFacture.LISTE_DE_FACTURES.FACTURE[2].TVA=5.5

// --Création d'une nouvelle ligne de facture
xmlUnNoeud..Nom="LIGNE_FACTURE"
Ajoute(xmlFacture.LISTE_DE_FACTURES.FACTURE[2],xmlUnNoeud)
xmlFacture.LISTE_DE_FACTURES.FACTURE[2].LIGNE_FACTURE[1].Description="Description
ligne 1 facture 2"
xmlFacture.LISTE_DE_FACTURES.FACTURE[2].LIGNE_FACTURE[1].MONTANTR.35

// --Création d'une nouvelle ligne de facture
xmlUnNoeud..Nom="LIGNE_FACTURE"
Ajoute(xmlFacture.LISTE_DE_FACTURES.FACTURE[2],xmlUnNoeud)
xmlFacture.LISTE_DE_FACTURES.FACTURE[2].LIGNE_FACTURE[2].Description="Description
ligne 2 facture 2"
xmlFacture.LISTE_DE_FACTURES.FACTURE[2].LIGNE_FACTURE[2].MONTANT.45

// --Création d'une nouvelle ligne de facture
xmlUnNoeud..Nom="LIGNE_FACTURE"
Ajoute(xmlFacture.LISTE_DE_FACTURES.FACTURE[2],xmlUnNoeud)
xmlFacture.LISTE_DE_FACTURES.FACTURE[2].LIGNE_FACTURE[3].Description="Description
ligne 3 facture 2"
xmlFacture.LISTE_DE_FACTURES.FACTURE[2].LIGNE_FACTURE[3].MONTANT8.85

// Chaîne résultat
Info(XMLConstruitChaîne(xmlFacture))
// ou
XMLSauve(xmlFacture,SysRep(srMesDocuments)+[""]+"Liste_Factures.xml",XMLDocumentDéfaut)

--
Cordialement JeAn-PhI
Patrick Girard
Le #23518131
Bonjour

c'est bizarre, pourquoi "lat" et "lon" sont précédés de ":" et "ele" de
"." ??

fichier_GPX.gpx.rte[1].rtept[1]:lat = "49"
fichier_GPX.gpx.rte[1].rtept[1]:lon = "2"
fichier_GPX.gpx.rte[1].rtept[1].ele = "20"



si ça peut aider...

Le 30/06/2011 10:22, courdi95 a écrit :
Bonjour,

Cela fait deux jours que je me bats contre Windev et que j'essaye de
créer un fichier GPX (format 1.0) dont le description .xsd est fournie
ici : http://www.topografix.com/GPX/1/0/gpx.xsd

J'ai importé la description dans Windev ("Descriptions XML"), et j'ai
crée un tout petit programme .... Il est très simple (voir dans le
protocole de reproduction).

Les premieres instructions fonctionnent très bien et je peux constater
dans le débuggeur que la structure GPX se construit bien.

Toutefois arrivé à l'instruction :

fichier_GPX.gpx.rte[1].rtept[1]:lat = "49"

j'ai un plantage : "L"attribut lat n'existe pas" .... alors qu'elle
figure clairement dans le schéma sous "rtept" ... que se passe-t-
il ??????

Cordialement.


========= Programme de création du GPX =========== >
fichier_GPX est un xmlDocument<description="GPX_1_0_schema">

fichier_GPX.gpx.author = "Moi"
fichier_GPX.gpx.desc = "ma route"
fichier_GPX.gpx:creator = "encore moi"

// route
fichier_GPX.gpx.rte[1].desc = "premiere route"
fichier_GPX.gpx.rte[1].cmt = "essai"

// point de la route
fichier_GPX.gpx.rte[1].rtept[1]:lat = "49"
fichier_GPX.gpx.rte[1].rtept[1]:lon = "2"
fichier_GPX.gpx.rte[1].rtept[1].ele = "20"

============================
courdi95
Le #23520121
Quelques remarques et réponses provisoires :

- l'intérêt d'un .XSD c'est justement de ne pas avoir à créér à la
main les noeuds ....
- . ou : .... c'est justement WINDEV qui les mets lui-même, en
fonction de la description du XSD (suivant si c'est un attribut ou un
noeud fils qui est prévu dans le XSD)
- j'ai eu une réponse du support gratuit hier soir : comme je m'y
attendais, c'est visiblement un bug .... donc wait and see ...
- j'ai fait le même type d'essai avec la version officielle GPX
1.1 ... la création se fait (on va plus loin dans la création du GPX/
XML en mémoire, mais dans le XMLSauve, il y a plantage si on laisse
l'option de vérification du XML).

Bon, il y a du boulot pour PCSOFT pour améliorer tout cela.


On 30 juin, 17:01, Patrick Girard
Bonjour

c'est bizarre, pourquoi "lat" et "lon" sont précédés de ":" et "ele " de
"." ??

 > fichier_GPX.gpx.rte[1].rtept[1]:lat = "49"
 > fichier_GPX.gpx.rte[1].rtept[1]:lon = "2"
 > fichier_GPX.gpx.rte[1].rtept[1].ele = "20"

si ça peut aider...

Le 30/06/2011 10:22, courdi95 a écrit :



> Bonjour,

> Cela fait deux jours que je me bats contre Windev et que j'essaye de
> créer un fichier GPX (format 1.0) dont le description .xsd est fourni e
> ici :http://www.topografix.com/GPX/1/0/gpx.xsd

> J'ai importé la description dans Windev ("Descriptions XML"), et j'ai
> crée un tout petit programme .... Il est très simple (voir dans le
> protocole de reproduction).

> Les premieres instructions fonctionnent très bien et je peux constate r
> dans le débuggeur que la structure GPX se construit bien.

> Toutefois arrivé à l'instruction :

> fichier_GPX.gpx.rte[1].rtept[1]:lat = "49"

> j'ai un plantage : "L"attribut lat n'existe pas" .... alors qu'elle
> figure clairement dans le schéma sous "rtept" ... que se passe-t-
> il ??????

> Cordialement.

> ========= Programme de création du GPX ==== ========

> fichier_GPX est un xmlDocument<description="GPX_1_0_schema">

> fichier_GPX.gpx.author = "Moi"
> fichier_GPX.gpx.desc = "ma route"
> fichier_GPX.gpx:creator = "encore moi"

> // route
> fichier_GPX.gpx.rte[1].desc = "premiere route"
> fichier_GPX.gpx.rte[1].cmt = "essai"

> // point de la route
> fichier_GPX.gpx.rte[1].rtept[1]:lat = "49"
> fichier_GPX.gpx.rte[1].rtept[1]:lon = "2"
> fichier_GPX.gpx.rte[1].rtept[1].ele = "20"

> ======================= =====
JeAn-PhI
Le #23530071
Dans son message précédent, courdi95 a écrit :
Quelques remarques et réponses provisoires :

- l'intérêt d'un .XSD c'est justement de ne pas avoir à créér à la
main les noeuds ....
- . ou : .... c'est justement WINDEV qui les mets lui-même, en
fonction de la description du XSD (suivant si c'est un attribut ou un
noeud fils qui est prévu dans le XSD)
- j'ai eu une réponse du support gratuit hier soir : comme je m'y
attendais, c'est visiblement un bug .... donc wait and see ...
- j'ai fait le même type d'essai avec la version officielle GPX
1.1 ... la création se fait (on va plus loin dans la création du GPX/
XML en mémoire, mais dans le XMLSauve, il y a plantage si on laisse
l'option de vérification du XML).

Bon, il y a du boulot pour PCSOFT pour améliorer tout cela.






j'utilise depuis longtemps les fonction XMLAjoute() et autres et je
n'ai jamais eu de pb, certes c'est contraignant mais cela fonctionne
tout le temps

--
Cordialement JeAn-PhI
Publicité
Poster une réponse
Anonyme