XML : comment et par où commencer ?

CheepnisAroma

Membre expert
Club iGen
12 Mars 2005
1 461
183
58
L'intitulé dit tout : où commencer avec le langage XML ? Pouvez-vous me conseiller un ou des livre(s) ?
Par pitié, pas un de ces bouquins écrits par des ingénieurs pas pédagogues pour deux sous qui s'imaginent que tout le monde sait ça. Si vous voyez ce que je veux dire.
(Je précise que je n'ai rien contre les ingénieurs.)
 
CheepnisAroma a dit:
L'intitulé dit tout : où commencer avec le langage XML ? Pouvez-vous me conseiller un ou des livre(s) ?
Par pitié, pas un de ces bouquins écrits par des ingénieurs pas pédagogues pour deux sous qui s'imaginent que tout le monde sait ça. Si vous voyez ce que je veux dire.
(Je précise que je n'ai rien contre les ingénieurs.)

Ca tombe bien, je ne suis pas ingénieur.

Peut etre commencer par :
http://www.xml.org/

Je me méfie en général des traductions, où le contre-sens peut être problématique.

Cordialement

PS: A noter que tu trouve facilement des sources de parser XML (desolé je ne connait pas l'équivalent en Francais, peut etre analyseur) dans la plupart des langages : C, C++, même Lua.
 
Je ne sais pas si je suis au bon endroit, mais bon. ;) J'ai quelques questions à propos du langage XML, dans la presse et l'édition notamment.
  • Ce langage semble promis a un bel avenir. Qu'en est-il réellement?
  • Y a-t-il des concurrents? Lesquels?
  • Comment tout cela est géré par Adobe InDesign, InCopy entre autre?
  • Quels sont les solutions rédactionnelles tournant sous Mac OS X? Bases de données, etc.

:zen:
 
WebOliver a dit:
Je ne sais pas si je suis au bon endroit, mais bon. ;) J'ai quelques questions à propos du langage XML, dans la presse et l'édition notamment.
  • Ce langage semble promis a un bel avenir. Qu'en est-il réellement?
  • Y a-t-il des concurrents? Lesquels?
  • Comment tout cela est géré par Adobe InDesign, InCopy entre autre?
  • Quels sont les solutions rédactionnelles tournant sous Mac OS X? Bases de données, etc.

:zen:


En Pao musicale, le XML a permis l'émergence d'un nouveau format, certainement un des formats de fichiers musicaux le plus aboutis de ces dernieres années : le Music XML.
http://www.recordare.com/xml.html

Il permet l'échange graphique de partitions entre programmes différents et reussi là ou le NIFF a échoué.

Cordialement
 
CheepnisAroma a dit:
(Je précise que je n'ai rien contre les ingénieurs.)

Arf... tu l'as échappée belle ... :D ;) ;)
 
vaste sujet .....
Tout d'abord xml n'est pas tout à fait un langage mais une manière de structurer les données en séparant le contenu (les données) du contenant (la présentation des données) par l'emploi de balises (un peu comme html mais en mieux et en beaucoup plus strict" voir à ce sujet http://www.w3.org/XML/1999/XML-in-10-points.fr.html)
Ce standard de stucturation de données s'impose de plus en plus dans beaucoup de domaines (ex. les fichiers .plist de Mac sont de l' XML, les fichiers d'OpenOffice sont aussi de l'XML).
Les fichiers xml sont de simples fichiers textes qui peuvent être édités dans Textedit ou autre. La seule chose qui compte c'est la rigueur du formatage (balises, en têtes, etc...) qui permet de créer de nouveaux "dialectes" de xml (comme .plist, mathML, ou SVG)
voir à ce sujet : http://fr.wikipedia.org/wiki/XML (fonctionnement, règles fondamentales etc...). L'efficacité de XML dépend fortement des normes strictes qui régissent sa structure.


Le succès de XML s'explique par la création et l'utilisation d'interfaces pour exploiter les fichiers xml, c'est à dire la présentation des données : transformations en html, pdf, interfaces de programmation standard (une grande partie de l'interface de Mozilla est construite avec des langages utilisant XML), téléphonie mobile etc...
Ceci se fait à l'aide de processeurs XML qui sont pour la plupart open source et gratuits
(xalan d'Apache foundation ou Saxon)


En cherchant sur Internet on trouveras de nombeux tutoriels

Sur Mac os X toutes les solutions Open source ou libres tournent sans problème pour traiter les données en java, perl, ruby ou Python. Il permettent de transformer des fichiers xml en ce que l'on veut à l'aide d'un langage de mis en forme nommé XSL ou de CSS (pour le html). Filemaker permet d'exporter ses base en xml depuis la version 6.
Pour débuter il y a TextXSLT (http://www.entropy.ch/software/macosx/welcome.html#testxslt) qui est libre
Pour aller plus loin il y a comme solution payante, Editix ou Oxygen et de nombreux soft gratuits en java (voir http://osx.hyperjeff.net/Apps/apps.php?f=xml)

Pour ma part dans mon boulot (SIG-GIS et base de données multiplateforme) , j'utilise xml tous les jours
 
Tout a fait d'accord avec genemartin, je n'ai jamais considéré le XML comme un langage mais bien comme un format.

L'avantage de stocker des données en XML est qu'elles peuvent être lus (et modifiées) par n'importe quel editeur de texte. Et ceci conduit au principal probleme du XML, comme c'est plutot verbeux, les fichiers deviennent tres rapidement enormes.
Par exemple, en musique, un midi de 40Ko va donner un XML de 1 ou 2 Mo...
C'est donc un format d'échange entre applications, mais pas un format de publication sur l'Internet.

Peut etre existe til une normalisation de compactage ? Car zippé un XML redevient tres court.

Cordialement
 
XML peut en quelque sorte être vu comme une plaque tournante : tu écris une fois ton fichier, mais par la suite n'importe qui peut écrire un programme qui permet d'attaquer ton fichier. Et comme ton fichier xml devra toujours suivre une strucutre bien définie et un certain schéma, resp. le nom des balises que tu utilises et la façon dont elles se succèdent sont défini dans une sorte de fichier de définition, soit un XML Schéma ou une DTD, les programmeurs n'auront jamais de surprises :) . Donc chaque fichier XML est normalement lié à un XML Schéma ou une DTD (je vous conseille plutôt directement de vous habituer avec XML Schéma, car cela a de nombreux avantages sur les DTD, vu que d'une part c'est du xml et d'autre part vous aurez l'avantage du typage); et dans un fichier xml vous pourrez faire appel à plusieurs Schéma, donc on peut les voir comme une sorte de librairie. XML, ainsi que XML Schema et tout ce qui tourne autour de XML, est un standard web du W3C (http://www.w3c.org).

Pour une vue d'ensemble rapide de tout cela, il n'y a qu'une seule adresse : http://www.w3schools.com/default.asp ; les tutoriaux sont simples et vous avez fait le tour en 30 min.

++
 
Merci pour vos réponses et les liens.
J'ai commencé à apprendre XML, ce n'est pas si difficile.

Une question : je ne pige pas très bien la différence entre :

<xsl:apply-template select="":>
et
<xsl:template match=""/>

:confused:
Quelqu'un peut-il m'éclairer ?
 
Le premier c'est pour indiquer au processeur XSLT qu'il faut appilquer les templates à l'endroit indiqué.

Exemple : applique le template Exemple
<xsl:apply-templates select="./Exemple" />

Si tu veux appliquer tous les templates possibles, tu fais :
<xsl:apply-templates />

Le deuxième c'est pour déclarer un template.

Exemple :
<xsl:template match="Exemple">
...
</xsl:template>


Tiens, au passage, ça me rappelle que j'avais ouvert un sujet sur XML et XSL l'année dernière.
 
  • J’aime
Réactions: CheepnisAroma
Merci pour tes éclaircissements.
Dans ma petite tête de débutant en XML, je traduis « template » par « modèle ». J'ai raison ou je suis à côté de la plaque ? Si c'est le cas, merci de me le dire car je suis très motivé pour apprendre XML. Mets-y les formes quand même STP :D
 
C'est une assez bonne traduction.

A part ça, avant de te mettre déjà à XSLT, ne devrais-tu pas d'abord apprendre étape par étape ?

- comment est structuré un document XML, quels sont les possibilités, ...
- comment définit-on le schéma d'un document XML => DTD ("vieille" manière) et XML Schemas (nouvelle et mieux)
- comment transforme-t-on un document XML => XSL Transformation

La 2e partie (DTD et XML Schemas) sont déjà des gros morceaux. Regarde surtout les XML Schemas qui sont ce qui devrait à terme remplacer complétement les DTD.
 
molgow a dit:
C'est une assez bonne traduction.

A part ça, avant de te mettre déjà à XSLT, ne devrais-tu pas d'abord apprendre étape par étape ?

- comment est structuré un document XML, quels sont les possibilités, ...
- comment définit-on le schéma d'un document XML => DTD ("vieille" manière) et XML Schemas (nouvelle et mieux)
- comment transforme-t-on un document XML => XSL Transformation

La 2e partie (DTD et XML Schemas) sont déjà des gros morceaux. Regarde surtout les XML Schemas qui sont ce qui devrait à terme remplacer complétement les DTD.
Oui, j'ai étudié les possibilités de XML, ce qu'il peut faire et ne pas faire.
Les DTD, je me suis penché dessus mais je suis passé assez vite, tout le monde me dit que les schémas vont les remplacer alors...
En fait ces temps-ci je suis en plein dans XSLT et aussi, à un degré moindre, HTML.
 
Petit problème un peu bêta que je rencontre avec XML : comment taper le caractère « barre verticale » (de mémoire Alt-Gr 6 sous Windo$e) ? Connaissez-vous un raccourci clavier ?
 
GrandGibus a dit:
Je crains que le HTML (bien formé) ne soit déjà du XML :mouais: :D.
Sauf que certaines balises HTML ne doivent pas être fermées (me trompe-je ? :confused:), donc là on n'est plus dans la norme XML. Mais si tu ne travailles qu'avec des balises ouvertes et fermées, en effet c'est du XML.