xactise
Messages postés507Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention22 juin 2012
-
30 mai 2006 à 10:01
xactise
Messages postés507Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention22 juin 2012
-
30 mai 2006 à 11:41
Bonjours voila quelque temps une question qui me tarode l'esprit
j'aimerai savoir (pour savoir si sa vaut le coup que je m'y mette ou pas) a quoi sert le XML ?
Voici ma propre définition (je me trompe surement et j'espert parce que sinon je voit pas l'interet)
pour moi le XML c'est stocker des donnée sur un fichier
en gros on repart au ancienne SGBD ou les données été stocker que des fichier texte sauf qu'avec le XML elle sont "organiser"
voici la définition que je m'en fait
donc je vois pas l'interet de repartir sur des base de donnée "fichier"...
Merci de m'éguiller sur l'utilisation et l'interet du XML...
D'avance merci
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 30 mai 2006 à 11:02
Hmm lol...
Bon, Antho a donné une bonne définition (toi aussi...en partie!)
XML est bien un meta langage, déjà. Donc, c'est un langage descriptif. Il décrit des données structurées. Et il est dérivé du SGML (comme l'est HTML d'ailleurs). Ce qui implique que XML est tourné vers les "documents" : le DOM, bien connu des développeurs web (entre autre, encore...).
Donc oui, XML sert à stocker des données dans un "fichier" (au sens large du terme).
Ses avantages sont -pour moi mais pas seulement lol- multiples :
- déjà, il est indépendant de tout environnement. On peut lire, générer, utiliser du XML sur toute plateforme (et je ne parlke pas que d'ordinateurs...). Quant tu crées ta base sur mysql, pour l'utiliser sur une machine x ne connaissant pas mysql, il faudra exporter tes données de manière à ce que cette machine comprenne ces données. XML s'affranchit totalement de ça.
- il sépare en effet parfaitement la forme du fond...mais offre aussi, via XSLT par exemple, la possibilité d'être mis en forme, et de le "processer" au passage, puisque XSLT, couplé à XPath, possède des fonctions : manipulation de chaînes, de nombres, boucles, etc...
- Il faut bien comprendre que le but d'XML était (est) d'être simple, concis, descriptif, platform independant, et parlant.Il y a de multitudes de ...langages, de modules, qui s'y ajoute pour permettre de le travailler. XSL, XSLT, XSL-FO en font partie.
- Mais aussi XPath, ou XQuery : ce sont des modules permettant d'effectuer des requêtes sur un document XML (comme pour une base de données, exactement).
- il y en a bcp...mais bref, lol. Etant intégré au W3C, il a un gros avantage : un navigateur web suffit pour le visualiser, et même y effectuer des traitements (tjrs XSLT etc...). Il s'intègre parfaitement à du web, on peut le retrouver dans un document XHTML, par exemple. Mais il va bien au-delà du web : on le retrouve de plus en plus dans les systèmes embarqués. Et pour cause : on s'affranchit de l'environnement, toujours. Faire discuter une puce GPS, un lecteur mp3, un ordinateur de bord d'une voiture...etc...devient très facile.
Bref, on pourrait discourir longuement là-dessus...
Pourquoi l'utiliser, et quand ? A toi de voir.
je vais t'expliquer pourquoi je l'ai utilisé dans certains de mes codes, ça te donnera une idée :
- classe logger : une classe qui logge des actions effectuées sur une base de données, via une interface web. Bref, je trace les utilisateurs de mon application web...ces actions, je les logge dans des fichiers xml. Pourquoi ? Simple :Je n'utilise pas de ressources de ma base de données, déjà très sollicitée! L'utilisateur fait une action qui engendre un insert into sur ma base, ok. Moi, je récupère la page, l'utilisateur, la requête, le type de requête etc...et je le fous dans un fichier XML. ces fichiers, j'ai pris le parti de les gérer ainsi : j'ai un répertoire 'logs' sur mon serveur. Des sous-répertoire ayant pour nom les id de mes utilisateurs (6, 3025, 75866 etc...), et dans ces sous-répertoire, 1 fichier log (xml) par jour. Du coup, pour visualiser mes logs, aucune requête à faire du genrse SELECT ... FROM logs WHERE user_id 6 AND date '20060530'. Par exemple. Je fais juste un appel direct au fichier : j'ouvre le fichier 'logs/6/20060530.xml'. Point barre. Et je peux faire des requêtes sur ce fichier : trier, afficher juste un type de requête, ou une page précise etc...le tout tjrs sans requêtes sur ma base de données : juste du XPath, léger et rapide.
- classe de localisation : bref, une classe de traduction , en gros. Je l'utilise bcp dans ma classe ClassDoc (documentation de classes). Le principe est simple : les traductions sont des fichiers XML. En fait j'ai 1 répetoire 'locales', et des sous répertoires pour chaque langue (anglais, français, allemand...). Dedans, les mêmes fichiers, regroupés par type : doc.xml, gui.xml, errors.xml etc...et dans ces fichier, des noeuds du genre <error_bad_file>Erreur le fichier n'est pas bon</error_bad/file>. Ca C dans le répertoire français. En anglais, j'ai le même noeud, mais le texte est en anglais...évidemment.
Après, c'est simple : selon le choix utilisateur, ma classe de localisation va juste parser le bon répertoire...et là où j'écris quelquechose dans mon appli web, j'appelle la méthode qui va lire le bon fichier XML et le bon noeud. Traduction instantannée. Pourquoi du xml ici ? Bah, pas de bdd, déjà, un parsing simple et rapide, et surtout, des fichiers TRES facile à créer pour n'importe qui! Suffit de créer le répertoire "russe", de copier les fichiers, de remplacer juste les textes (en russe), et mon appli web est localisée en russe. ET si un jour j'écris cette appli en C++...j'ai juste à réécrire ma classe de localisatiopon en C++ pour avoir ma trduction : je parserai le xml de la même manière en C++, pas besoin d'inventer un nouveau procédé.
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 30 mai 2006 à 10:10
Salut,
c'est une bonne question que tu nous poses là ;)
L'utilité que j'en trouve personnellement (juste pour les RSS de mon site) c'est de permettre au visiteur lui-même de mettre en forme le contenu, c'est à dire que tu fournis en XML une structure de base, non mise en forme, au format texte (donc compréhensible par tout). N'importe qui peut en faire n'importe quoi en le parsant (en l'analysant) à sa guise.
Après pour le reste heu... je laisse Malalam répondre ^^
J_G
Messages postés1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 200710 30 mai 2006 à 10:54
Bijour,
je ne sais pas ce que va dire malalam...
Mais pour moi, le but du XML n'est pas de stocker des informations (même si il peut le faire) mais de transmettre des informations dans une structure !
Le meilleur exemple de transmission d'info via XML : (X)HTML...
Les intérets :
* Théoriquement, toute structuration de données peut-être représentée en XML
* La joyeuse maniuplation en arbre (grâce à DOM)
* La transformations XSL
* ... ?
Bon effectivement, c'est pas performant en traitement, ni en taille (quoique XML supporte bien la compression).
Mais je te conseil de "t'y mettre". Car franchement c'est très très simple en première approche. Donc il serait domage de passer à coté...
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
xactise
Messages postés507Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention22 juin 20122 30 mai 2006 à 11:11
oki merci c'est un peu plus clair pour moi
maintenant une question :
si on prend le SGBD mySQL pour inserer une nouvelle donnée on fait un insert into classique
la la question que je me pose
si admetons j'ai mon fichier x.xml qui est :
(bon déjà je tien a présisez que je ne sait meme pas si cette exemple est bon je n'ai jamais fait de XML... enfin bref)
si je doit rajouter un Titre3 et Auteur3 il faut donc "reperer" les balise pour pas les metre n'importe ou
le code pour sa doit etre assez complexe et l'on a interpreter non ?
aurai-tu un exemple d'ajout de données dynamique dans un fichier XML ?
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 30 mai 2006 à 11:37
Bah non, c'est à ça que servent les parsers XML présents dans tous les langages.
Voir DOMDocument en php5, ou DOM en php4. Entre autres.
Des exemples, il y en a plein :-) Tu peux aller voir mon dernier code : xml menu.
En gros, là, ça pourrait donner :
xactise
Messages postés507Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention22 juin 20122 30 mai 2006 à 11:41
Ok merci beaucoup en faite j'ai envie de m'y mettre c'est surtout pour flash... je vous remercie tous (je met le sujet en clo)
je vais surement m'y interesser merci a tous et bonne journée