grandyaka54
Messages postés97Date d'inscriptionvendredi 19 octobre 2007StatutMembreDernière intervention18 décembre 2013
-
10 déc. 2008 à 16:27
grandyaka54
Messages postés97Date d'inscriptionvendredi 19 octobre 2007StatutMembreDernière intervention18 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 -->
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 11 déc. 2008 à 16:38
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, ...);
grandyaka54
Messages postés97Date d'inscriptionvendredi 19 octobre 2007StatutMembreDernière intervention18 décembre 20135 11 déc. 2008 à 17:27
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é.