IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XML/XSL et SOAP Discussion :

[DEBUTANT]Première application avec XML


Sujet :

XML/XSL et SOAP

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 5
    Points : 3
    Points
    3
    Par défaut [DEBUTANT]Première application avec XML
    Bonjour,
    Dans le but de me former aux technos XML et ayant lu pas mal de doc., je désire réaliser une extention d'une appli ecrite en c++ (builder 5).
    Mon objectif est de générer un fichier de données existantes provenant de mon appli au format xml et utilisable ultérieurement par d'autres appli.
    Pour cela, j'ai un peu de mal à trouver une méthodologie pour aboutir.
    : Quels outils (en terme de développement) utiliser pour implémenter la génération, la validation et la lecture de mes données ?
    : Faut il que j'utilise une DTD ou plutôt XML schema ? comment créer cette référence (xmlspy ?)
    : Y a t'il des choses à prévoir impérativement avant de ce lancer ?

    Un exemple concret d'une réalisation simple (de A à Z) me serait bien utile, avez vous cela sous la main (url, doc. ...) ?

    Merci d'avances pour vos conseils et informations.

    Manu

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    Si ton besoin est trivial, c'est à dire juste sérialiser les données de ton appli dans un fichier XML, pas besoin d'outil particulier, il suffit d'ouvrir un fichier en écriture et d'écrire des données ASCII (ou UNICODE) dedans. Si cela va plus loin, il te faudra effectivement des outils adaptés.

    Pour parcourir les données d'un fichier XML, et le modifier, il te faut un parseur implémentant DOM, et disposant d'une API accessible par C++. Tu as plusieurs choix (libxml, MSXML,...), sachant qu'ils ne se valent pas tous par les fonctionnalités et la documentation. Pour ce dernier point, MSXML a un avantage.

    La DTD a un double avantage : elle sert de documentation pour le format XML que tu vas inventer, et éventuellement à valider un fichier censé s'y conformer. Si des développeurs tiers doivent manipuler les fichiers XML issus de ton application, une DTD est quasiment obligatoire. Même si tes fichiers XML ne sont pas diffusés, c'est un bon réflexe que d'en créer une. Le WXS est un progrès par rapport à la DTD, il permet une validation plus fine, et, en disposant des outils ad hoc, apporte plus de fonctionnalités telles que le mapping XML/objet ou relationnel. Mais il est aussi plus complexe.

    Pour démarrer, je me concentrerais sur l'écriture de la DTD (quitte à la transformer en WXS ultérieurement, des ateliers comme XMLSPy le font automatiquement)

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci pour la réponse rapide

    Si ton besoin est trivial, c'est à dire juste sérialiser les données de ton appli dans un fichier XML, pas besoin d'outil particulier, il suffit d'ouvrir un fichier en écriture et d'écrire des données ASCII (ou UNICODE) dedans. Si cela va plus loin, il te faudra effectivement des outils adaptés
    OK, il n'y a donc pas d'outils permettant de 'monter' en mémoire une structure de données définie par un fichier DTD ou WXS, de la remplir avec mes données et de générer le fichier xml correspondant.

    Pour parcourir les données d'un fichier XML, et le modifier, il te faut un parseur implémentant DOM, et disposant d'une API accessible par C++. Tu as plusieurs choix (libxml, MSXML,...), sachant qu'ils ne se valent pas tous par les fonctionnalités et la documentation. Pour ce dernier point, MSXML a un avantage
    Y a t'il un exemple simple décrivant le fonctionnement d'un parseur ou faut il se 'palucher' toute la doc. relative à l'outil utilisé ?

    Pour démarrer, je me concentrerais sur l'écriture de la DTD (quitte à la transformer en WXS ultérieurement, des ateliers comme XMLSPy le font automatiquement)
    J'ai lu que XMLSpy permettait de générer une DTD automatiquement à partir d'un fichier xml comportant des 'enregistrements'. Est-ce une solution pratique à l'usage, quitte à la retravailler à la main ?

    Encore merci

  4. #4
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Citation Envoyé par mlallem
    OK, il n'y a donc pas d'outils permettant de 'monter' en mémoire une structure de données définie par un fichier DTD ou WXS, de la remplir avec mes données et de générer le fichier xml correspondant.
    Ce n'est pas ce que j'ai dit ; il existe des framework Objet/XML qui permettent de créer une hiérarchie de classes reprenant le modèle décrit dans la DTD ou (plus efficacement) dans le WXS. Il en existe pour Java, .NET, etc.
    Citation Envoyé par mlallem
    Y a t'il un exemple simple décrivant le fonctionnement d'un parseur ou faut il se 'palucher' toute la doc. relative à l'outil utilisé ?
    La Doc du XML SDK 4.0 de Microsoft est plutôt bien faite, et comporte de nombreux exemples.
    Citation Envoyé par mlallem
    J'ai lu que XMLSpy permettait de générer une DTD automatiquement à partir d'un fichier xml comportant des 'enregistrements'. Est-ce une solution pratique à l'usage, quitte à la retravailler à la main ?
    Si ton modèle est relativement simple, ça peut être une solution efficace. Si tu as un modèle complexe avec dérivation, récursif, etc. mieux vaut passer par une conception "à la mimine".

  5. #5
    Candidat au Club
    Inscrit en
    Mai 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Encore une ou deux questions avant de me lancer

    Ce n'est pas ce que j'ai dit ; il existe des framework Objet/XML qui permettent de créer une hiérarchie de classes reprenant le modèle décrit dans la DTD ou (plus efficacement) dans le WXS. Il en existe pour Java, .NET, etc.
    D'accord, je me disais aussi qu'ils ne m'avaient pas attendu pour faire qq chose de la sorte
    As tu (je me permet le tutoiement) des noms de tels framework pour du C++ ?

    Plus précisement, y a t'il des développeurs BC++ qui utilisent des outils XML optimisés pour cet environnement ? Je suis allé sur le site de borland, mais il y a surtout des outils intégrés dans Delphi ...

    Merci pour vos réponses

  6. #6
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Un recensement des outils de mapping qui a l'air à jour :
    http://www.rpbourret.com/xml/XMLDataBinding.htm

    J'ai jeté un petit coup d'oeil dans la liste et si tu cherches un outil non commercial pour C++, ça risque d'être un peu chaud... N'hésite pas à aller poser la question dans le forum C++, tu auras sans doute plus d'infos.

  7. #7
    Candidat au Club
    Inscrit en
    Mai 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Et bien, je te remercie pour les conseils, tu m'as bien éclairé; pas mal pour une chouette du fond des bois

    Je vais de ce pas poser une question aux développeurs C++ concernant leurs outils XML préfèrés. En tous cas, l'offre semble bien plus conséquente en Java ...

    Au boulot ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. WCF Service Application Avec XML
    Par clavelski dans le forum Windows Communication Foundation
    Réponses: 1
    Dernier message: 20/02/2009, 12h07
  2. Première application avec Qt & C::B
    Par Spout dans le forum Débuter
    Réponses: 9
    Dernier message: 18/09/2008, 11h08
  3. [OPENGL] Première application avec Newton Engine
    Par Bakura dans le forum Contribuez
    Réponses: 24
    Dernier message: 11/11/2006, 14h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo