Salut,
moi je suis un peu connaisseur de ODP. a vrai dire je suis editeur dessus.
en ce qui concerne XML, il y a plusieurs choses a savoir:
XML est un langage balise de description de donnees.
meme certaines secretaires connaissent ce langage.
en fait il n'y a pas grand chose a savoir sur la langage lui meme, si ce n'est qu'il est simple d'utilisation.
pour ecrire en XML il te faut un editeur qui sache parler en unicode (en particulier UTF-8), mais ce n'est pas interatif.
le veritable interet du XML, c'est qu'il s'agit d'un langage standard, un format d'echange de donnees, utilise a travers les systemes d'exploitation , les sites web, etc...
commence par t'amuser, avec php, en rajoutant les options DOM, et sablot, pour parser entierement un document XML, et le modifier. un document XML doit etre entierement valide, sinon il'est pas lu par le parseur XML, c'est a dire que les caracteres qu'il contient doivent exister, les references (du type &blabla;) doivent etre toutes definies par un dtd, et surtout son arbre de balises (la representation interne d'un document XML) doit etre bien equilibre, cad qu'a chaque balise ouvrante doit correspondre une balise fermante, et les balises doivent se fermer dans le sens contraire de leur ouverture:
ceci n'est pas valide:
<a href="http://www.toto.com"><b> coucou </a></b>
ceci est valide:
<a href="http://www.toto.com"><b> coucou </b></a>
valide:
é
pas valide:
&ecute;
comme parseur XML, il y a donc DOM (specifie par le W3C) qui fait une representation memoire du document XML, il y a SAX qui ne fait PAS de representation memoire, mais qui permets de traiter des documents pas bien formes.
DOM est implemente de diverses manieres:
il y a libxml2 de gnome qui le fait tres bien.
dans java aussi il existe des classes DOM.
pareil pour SAX.
etc...
treve de tous ceci.
sur le modele de XML, il existe aussi des specifications:
XHTML qui est defini a partir d'un DTD (une document type definition) qui par exmeple est utilisee quand le validateur du W3C analyse tes pages XHTML.
RSS, qui est aussi un type de documents XML, specialise dans la description de fils de discussion
RDF, qui lui semble etre cantonne a la semantique des documents sur le net.
SOAP, qui specifie un service Internet.
XSL est un format de document XML, specifie aussi par une dtd qui specifie comment un autre document XML doit etre modifie. (autrement dit tu vas modifier un document XML a l'aide d'un autre document XML)
XML peut aussi etre utilise pour definir tes propres documents. pour cela il faut definir une dtd. meme les dtd peuvent etre retranscrites sous forme XML, via une autre norme XML, dont je me souviens plus le nom.
il y a aussi XPath qui est un systeme d'interrogation de documents XML (il faut voir pour cela ton doc XML comme une base de donnees).
les bases de donnees, elles-memes (MySQL, Oracle, etc), peuvent etre transcrites integralement un XML. Java le fait, via son projet hibernate. (tapotes hibernate dans google)
quels sont les meilleurs langages pour traiter l'XML:
PHP, a mon avis n'est pas le meilleur choix si tu veux disposer des meilleures fonctions (meme s'il y a des classes PEAR comme XML Transformer et XML Parse)
dans un premier temps tu vas trouver Java, qui possede l'implemetation XML la plus complete possible ,ce qui vas te permettre de faire des choses remarquables, avec des API comme struts, dom, etc...
tu as le langage C qui permet d'acceder directement aux librairies de traitement XML
tu as C++ qui pemets de le gerer assez facilement (plus facilement que java, mais le nombre d'api disponibles est moindre par rapport a celui-ci)
tu as aussi PERL.
Maintenant voici un exemple de ce que peux faire XML:
je suis journaliste je tapes mes documents dans Star Office, qui comme chacun le sait utilise un format XML pour enregistrer ces donnees. je peux aussi le faire avec Word, avec InDesign ou QuarkXPress qui ont meme le pouvoir d'associer des bouts de documents a des balises XML (c'est tres tres interessant).
j'uploade mon fichier sur mon site web, via un formulaire basique.
mon fichier est foutu dans la base de donnees.
ce fichier va etre nettoye par DOM, analyse par Xpath qui va le categoriser.
lorsque le visiteur va consulter le site, celui-ci va prendre ce document nettoye, va le transformer soit en XHTML, soit en SVG, soit en PDF soit au format texte.
le site va aussi mettre a disposition un fil RSS, qui va faire etat des dernieres informations disponibles sur le site. ce fil RSS peut etre meme consulte par un logicile cote client, qui va se charger de le mettre a jour sans que tu consultes le site.
le site va mettre aussi un systeme de XML-RPC: imagine que tu veuille faire une requete depuis un autre logiciel qui veux savoir des donnees precises sur le fonctionnement de ton site. il va envoyer une requete XML RPC au site qui va lui envoyer les donnees correspondantes que ton logiciel va traiter
sur mac il y a un logiciel qui le fait plus ou moins: je crois que c'est weather pop dont le role est de consulter la meteo.
en bref pour pouvoir faire du XML il ne faut pas avoir peur des boucles de programmation, il faut aimer apprendre, etre curieux, il faut aimer les programmes bien foutus, extensibles, separant representation des donnees des donnees elles-memes.
si tu veux apprendre je te conseille le fameux livre blanc d'xml sur le site
http://www.application-servers.com, et bien sur le site du W3. il faut que tu t'accroche aux tutoriaux et a google, et que tu connaisses bien le langage a partir duquel tu vas faire du XML.
Valdo.