on se retrouve avec toutes les questions deja posees et resolues avec xml
XML résoud le problème de typage des données ? :-.
Là j'ai un doute, franchement.
(cf.l'exemple de Lust: True/False, 0/1, yes/no, etc.)
Dans tous les cas - que ce soit XML ou fichier à plat - on échappe pas à un contrôle des formats et un transtypage des données.
Certes XML avec ses outils (XSD) permet de faire certains contrôles, mais ça reste limité
(par exemple, XSD ne permettra pas de s'assurer que le numéro d'une annulation de commande correspond à celui d'une commande existantes. ça ne résoud donc que très partiellement les choses.)
si on me dit que pour traiter un fichier de parametres je dois ecrire un parseur alors je reponds 'j ai autre chose a faire'
Quand on te demande d'extraire des données d'un fichier XML, tu n'as rien à développer ?
Pas même des appels à SAX, DOM ou XPath ?
Ou encore un XSLT ?
Quant à un parseur de fichier config paramètre=valeur, ça se fait en quelques ligne et c'est réutilisable sur beaucoup de fichiers de ce type.
autrement dit xml / SQLite = pas le meme combat (ils n adressent pas les memes problemes)
Generalement, oui, je suis d'accord.
Mais dans le cas d'échange de gros volumes de données, la question peut être pertinente.
Or l'un des buts premiers d'XML, c'est l'échange. (Et j'ajoute: voir la remarque ci-dessous sur l'XML binaire).
pardon ? compilation des patterns ca dit quelque chose ?
Ok, ok. +1.
Mais l'utilisation des patterns compilés ne nécessite-elle DOM (ou équivalent), c'est à dire le chargement intégral du fichier XML en mémoire ?
160 Mo de mémoire consommée d'un coup ?
C'est faisable, mais ça n'est pas forcément acceptable dans toutes les situations.
je signale que la meme chose etait faisable avec access (sic)
oui, mais Access était une base propriétaire, à source fermés, mono-plateforme et sous license non libre.
Ce n'est pas le cas de SQLite.
plus efficace ? plus simple ? plus interessant ? pardon ???
Je maintiens ce que j'ai dit sur SQLite.
Moins d'espace disque utilisé, structuré, totalement portable, typage, méthodes d'accès standardisées (SQL-92).
Elle réunit tous les critères nécessaires à l'échange automatisé de données.
et cette bibliotheque en C est tres standardisee probablement... et elle est d une simplicite telle que si le modele de donnees evolue... dommage...
C'est vrai.
Mais est-ce que la migration sera moins lourde dans le cas d'un changement de schéma XML ?
c est un bonheur de l avoir en controle de version
et je ne vois pas le rapport avec l utilisation qui est faite d xml
L'argument "contrôle de version" concernait les fichiers texte.
Dans un contrôle de version, on peut facilement suivre les modifs des fichiers de config à plat.
Suivre des modifs de fichiers de config XML n'est pas génial, parceque le retour à la ligne n'est pas une information pertinente en XML, et les gestionnaires de version ne savent pas comparer des fichiers XML.
Difficile, donc, de faire un suivi des modifications d'un fichier XML.
il frise la mauvaise foi (si cela venait de quelqu un d autre que vous j en serais absolument sur
Oh il m'arrive d'être de mauvaise foi des fois :-)
la je pense plutot a un leger manque de profondeur)
Non je suis sérieux.
Pourquoi prendre un marteau-pilon pour écraser une fraise ?
Oui XML peut faire mieux, peut faire plus, mais est-ce vraiment nécessaire ?
J'aime le principe du KISS.
quelle est la representation retrouvee en memoire ? peut on la parcourir facilement ?
Une hashtable fait l'affaire, généralement. L'accès est donc très rapide.
ajoutez donc un tableau (type liste de choix de textes) dans ce fichier a plat et on verra s il est plus court...
blacklisted_checksums=3c5454ab|5537ab3d|2174bdfe|5eca35bd
Le parseur n'en est pas beaucoup plus compliqué.
a noter un groupe de reflexion qui se penche d ailleurs sur la possibilite d avoir du 'xml binaire'
Justement, ça ne te met pas la puce à l'oreille que ce besoin se fasse ressentir ?
(On semble se rapprocher de fichiers du type RIFF ou IFF, mais en plus évolué (qui en soit étaient de bonnes idées)).
Je ne suis pas un adversaire absolu de l'XML.
C'est juste que je trouve qu'il ajoute une complexité qui est parfois utile, mais dans la très grande majorité des cas XML est mal maîtrisée, mal utilisé et abusé, et aboutit à une complication inutile des programmes et des interfaces.
XML a ses usages, mais dans la pratique, il complique souvent des solutions qui pourraient être simples.
je dis aussi que du fait de la simplicite il est utilise a tort et a travers sans les competences requises (notamment en architecture de donnee) donc il est facile de se planter avec
Voilà, tout à fait.
XML en soit n'est pas mal du tout.
Mais cet argument me fait penser aux critiques sur l'Agile Programming: Quand on montre aux défenseur de l'Agile Programming l'énorme quantité d'échecs dans la pratique, ils rétorquent que c'est parceque la méthode a été mal utilisée.
Mais si 95% des utilisateurs ne parviennent jamais à maîtriser correctement la méthode, est-ce qu'il ne vaut pas mieux choisir une autre méthode ? (Quitte à ce qu'elle soit moins "pure" ?)
C'est un peu le cas pour XML, je trouve.
(Merci pour les liens, c'est intéressant)
“Life is short - You need Python” -- Bruce Eckel, membre du comité ANSI C++