Syntaxe XML [Résolu]

Messages postés
97
Date d'inscription
vendredi 19 octobre 2007
Dernière intervention
18 décembre 2013
- - Dernière réponse : grandyaka54
Messages postés
97
Date d'inscription
vendredi 19 octobre 2007
Dernière intervention
18 décembre 2013
- 11 déc. 2008 à 17:27
Bonjour,

Je suis en train de développer une petite application sur Delphi. Je sais lire et écrire dans un fichier xml en utilisant le composant IXMLDocument.

Je me pose juste la question sur la syntaxe du XML à utiliser et laquelle serai la meilleur à utiliser. Le fichier Xml comprend la liste de tous les messages d'erreurs et d'informations sur le traitement du logiciel.

Schéma xml 1:

<CodesMessages>
        <!-- Erreurs -->
        <Erreurs>
            <Err>
                <Numero>0001</Numero>
                <Libelle>Erreur de lecture du fichier</Libelle>
                <Conseil>...</Conseil>               
            </Err>
            <Err>
                <Numero>0002</Numero>
                <Libelle>Erreur d'ecriture sur fichier</Libelle>
            </Err>
        </Erreurs>   
        <!-- Informations -->
       
           
              <Numero>0000</Numero>
                <Libelle>...</Libelle>
           
           
              <Numero>00001</Numero>
                <Libelle>....</Libelle>
           
            ...
           
</CodesMessages>

Schéma xml 2 :

<CodesMessages>
    <!-- Erreurs -->
    <Erreurs>            <Err Num '0000' Lib 'Erreur de lecture du fichier' />        <Err Num '0001' Lib 'Erreur d'ecriture sur fichier'  />        <Err Num '0002' Lib '...' />        <Err Num '0003' Lib '...' />   
    </Erreurs>
    <!-- Informations -->
                   
       
       
       
               
              
</CodesMessages>

Merci de me conseiller !
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
11
3
Merci
Salut,

Je vais faire mon vieux ronchon !

Le XML, c'est très bien, mais...
1) C'est lent : faut le parser.
2) Ca prend de la place : il y a pas mal d'infos qui servent à rien.

Bon, sinon, c'est vrai qu'il a quelques avantages :
1) Il est éditable par l'homme.
2) On peut vérifier un .xml avec un .xsd.
3) Il y a des parseurs tout faits dans de nombreux langages.

Mais dans ton cas, aucun des avantages n'est vraiment effectif.
1) C'est des chaînes. Si tu sérialise pas, ce sera aussi éditable.
2) Tu vas quand même pas rédiger le xsd associé (Les générateur xml -> xsd servent à rien) ?
3) Il n'y a que ton application qui va se servir de ces fichiers.

Par contre, tu subi les inconvénients.
1) Hop la consommation de CPU au démarrage de l'appli et pour traiter ces données.
2) Le fichier est assez lourd à rédiger et prend plus de place que nécessaire.

Bon c'est un bon exo de faire ça en XML (Les entreprises son fans).

Mais perso, je ferais deux fichiers :
1 avec les messages d'erreurs :
Erreur de lecture du fichier
Erreur d'ecriture sur fichier
...
...
      
1 avec le reste :
Compression Ok

Chriffrement Ok

Lecture du fichier Ok

Lecture du fichier

Et hop, 2 coups de TStrings.LoadFromFile et le tour est joué. Le numéro de l'erreur correspondant au numéro de ligne. Simple efficace, traduction facile...

Et une énumération dans le code :

type ERRORS = (ERR_READ_FILE, ERR_WRITE_FILE, ...);

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 118 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_rt15
Messages postés
97
Date d'inscription
vendredi 19 octobre 2007
Dernière intervention
18 décembre 2013
4
0
Merci
Bonjour rt15,

Merci de pour ta réponse.

Le seul bémol est qu'il faut utiliser le XML, car comme tu le dis, c'est la mode et facilement éditable. Dans mon cas, je me demandais lequel des 2 schémas étais le mieux. Pour moi, j'opterai pour le 2ème schéma.

Le fichier me servira qu'en lecture afin d'avoir le libellé correspondant au code donné.
Commenter la réponse de grandyaka54

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.