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 :

[Structure] Stockage d'une matrice en XML


Sujet :

XML/XSL et SOAP

  1. #1
    Membre régulier
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 76
    Points
    76
    Par défaut [Structure] Stockage d'une matrice en XML
    Bonjour tout le monde,

    Je suis entrain de develloper une application. elle aura besoin de sauvegarder certains paramètres qui sont necessaires pour chaque réouverures. Il faut donc utiliser un fichier.

    Je suis entrain d'étudier les différents formats de fichiers qui existent. Je suis interessé par quelques uns. En particulier XML. Je viens d'apprendre qu'on peut, en effet, sauvegarder des entiers, des réels ...etc, en utilisant XML SCHEMA.

    Ce que je n'arrive pas à trouver, c'est comment présenter une strucutre de données plus complexe, comme une matrice d'entiers, par exemple. Existe-il le type tableau, comme en C?

    Merci D'avance.
    mamid

  2. #2
    Membre habitué Avatar de nicolas66
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 326
    Points : 146
    Points
    146
    Par défaut
    Tu pourrai par exemple utiliser ce genre de fichier XML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?xml version="1.0"?>
    <Matrix nbRows="2" nbColumns="2">
      <Cell rowIndex="0" columnIndex="0">82</Cell>
      <Cell rowIndex="0" columnIndex="1">19</Cell>
      <Cell rowIndex="1" columnIndex="0">1</Cell>
      <Cell rowIndex="1" columnIndex="1">56</Cell>
    </Matrix>
    Athlon 6000+ Dual Core & GeForce 8600 GT -- Ubuntu Gutsy

  3. #3
    Membre régulier
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 76
    Points
    76
    Par défaut Merci Nicolas
    Merci pour ta piste.

    Je ne te cache rien, je ne suis qu'un débutant dans XML. Tu l'as peut être deviné. Ta solution me parrait bonne. J'ai quelques questions de précision:

    1- la définition du type de la matrice, en l'occurence ici des entiers, va se faire dans XML-SCHEMA. Puisque il n'existe pas ce genre de type en utilisant la DTD?

    Pour créer mon format de fichier, il me faut créer une API qui se chargera des lectures et ecritures dans le fichier. Un API est une bibliothèque qui contiendra des fonctions telles que: fopen, fclose, fread, fwrite...comme celle de C. Je vais utiliser le langage C++ pour générer ce fichier XML.

    2. Pour la lecture: Faut-il avoir un index.xml, afin de pouvoir lire directement, à l'aide des identifiant xml? As-tu une idée de comment aller lire un tel attribut, en connaissant son nom? Faut-il avoir un logiciel? Une bibliotheque?

    3. Pour l'écriture: Je suppose qu'il s'agira d'écrire un texte en respectant la syntaxe XML et bien évidement de donner un nom .xml au fichier. Est-ce vraiment le cas

    Je te remercie encore une fois.
    mamid

  4. #4
    Membre habitué Avatar de nicolas66
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 326
    Points : 146
    Points
    146
    Par défaut
    1 - Si tu veux vérifier très précisément la structure d'une entité complexe, il te faudra passer par XML Schéma car il te permet notamment de contrôler le type des données et leur contenu. Les DTD sont peu puissantes et te permettent d'exercer un contrôle très limité sur tes données.

    2 / 3 - La lecture et l'écriture du fichier XML est très fastidieuse. Il faut arriver à parser correctement le fichier puis à stocker sa structure sous forme d'un arbre avec des pointeurs. Je ne connais pas ton niveau en C++, mais je peux te dire que ce genre d'opérations est assez compliqué à mettre en oeuvre. Personnellement, je te conseillerai plutôt d'opter pour une API existante. Il en existe de nombreuses sur le net (libxml2, tinyxml, xerces, xalan, etc.).

    Voilà, j'espère avoir répondu à tes questions
    Athlon 6000+ Dual Core & GeForce 8600 GT -- Ubuntu Gutsy

  5. #5
    Membre régulier
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 76
    Points
    76
    Par défaut Merci
    D'accord je commence à y voir clair.

    Tu ne m'as pas répondu à une question. Pour pouvoir travailler sur XML & XML-SCHEMA sous Unix. faut-il installer quoi que ce soit? Est-ce gratuit?

    Pour le C++, je pense avoir un niveau correcte. Je pense pouvoir manipuler les arabres. Mais comme il existe déjà une API autant l'utiliser.

    Merci pour tes précieuses informations.
    mamid

  6. #6
    Membre habitué Avatar de nicolas66
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 326
    Points : 146
    Points
    146
    Par défaut
    Tu ne m'as pas répondu à une question.
    Oups pardon

    Pour pouvoir travailler sur XML & XML-SCHEMA sous Unix. faut-il installer quoi que ce soit? Est-ce gratuit?
    Pour faire du XML Schéma sous Unix / Linux, tu peux installer la bibliothèque libxml. Il inclut une commande appelée 'xmllint'. Elle permet, entre autres, de vérifier un document XML, de le valider par une DTD ou un schéma. Cette bibliothèque est gratuite, portable et déposée sous la license MIT. Tu pourras télécharger la dernière version à cette adresse : ftp://xmlsoft.org/libxml2/.

    Bon courage
    Athlon 6000+ Dual Core & GeForce 8600 GT -- Ubuntu Gutsy

  7. #7
    Membre régulier
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 76
    Points
    76
    Par défaut Merci
    Parfait!

    Merci beaucoup.
    mamid

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

Discussions similaires

  1. Sélection de voxels et stockage dans une matrice
    Par foufouta dans le forum MATLAB
    Réponses: 5
    Dernier message: 26/04/2008, 00h01
  2. [Structure] stockage de series temporelle en xml
    Par grorico dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 31/07/2006, 22h12
  3. Stockage de lignes dans une matrice
    Par S4sha dans le forum MATLAB
    Réponses: 3
    Dernier message: 11/06/2006, 14h03
  4. XML : Stocker une matrice en 3 D
    Par PoPeio dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 18/05/2006, 10h57
  5. Stockage d'une structure
    Par dede92 dans le forum C
    Réponses: 3
    Dernier message: 13/03/2006, 10h02

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