# XML : comment et par où commencer ?



## CheepnisAroma (16 Mars 2005)

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.)


----------



## Didier Guillion (16 Mars 2005)

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.


----------



## mpergand (16 Mars 2005)

http://xml.developpez.com/
http://www.chez.com/xml/


----------



## WebOliver (16 Mars 2005)

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.


----------



## Didier Guillion (17 Mars 2005)

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?
> ...




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


----------



## molgow (17 Mars 2005)

CheepnisAroma a dit:
			
		

> (Je précise que je n'ai rien contre les ingénieurs.)



Arf... tu l'as échappée belle ...


----------



## genemartin (17 Mars 2005)

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&quot; 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 &quot;dialectes&quot; 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


----------



## Didier Guillion (17 Mars 2005)

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


----------



## Didier Guillion (17 Mars 2005)

A oui, une chose interessante, le Mac OS X integre tout ce qu'il faut pour gérer le XML du coté du programmeur.
C'est dans le Core Fondation et cela s'appele XML Parser 

Et c'est ici :
http://developer.apple.com/documentation/CoreFoundation/Conceptual/CFXML/Concepts/XMLParser.html 

Cordialement


----------



## Einbert (20 Mars 2005)

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.

++


----------



## CheepnisAroma (31 Mars 2005)

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=""/>


Quelqu'un peut-il m'éclairer ?


----------



## molgow (31 Mars 2005)

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.


----------



## CheepnisAroma (31 Mars 2005)

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


----------



## molgow (31 Mars 2005)

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.


----------



## CheepnisAroma (31 Mars 2005)

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 ?
> 
> ...


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.


----------



## CheepnisAroma (2 Avril 2005)

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 ?


----------



## heliotrope (2 Avril 2005)

c'est de caractère que tu cherches "|" ?

alt + shift + l (lire "elle")


----------



## CheepnisAroma (15 Janvier 2006)

Encore moi avec mon XML.
Je cherche un moyen de convertir des fichiers HTML en XML. Avez-vous des lumières sur la question ?


----------



## GrandGibus (16 Janvier 2006)

Je crains que le HTML (bien formé) ne soit déjà du XML :mouais: .

Je ne vois pas très bien ce que tu cherches à obtenir, peux-tu préciser ta requête, ou envoyer un exemple de code que tu cherches à convertir ?


----------



## ntx (16 Janvier 2006)

GrandGibus a dit:
			
		

> Je crains que le HTML (bien formé) ne soit déjà du XML :mouais: .


Sauf que certaines balises HTML ne doivent pas être fermées (me trompe-je ? ), 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.


----------



## GrandGibus (16 Janvier 2006)

d'où le _bien formé_ ...


OK, c'est pas marrant de se moquer. 

Une adresse pour valider http://validator.w3.org/.


----------



## OlivierL (16 Janvier 2006)

Effectivement, HTML est une sous-norme de XML qui est lui même une sous-norme de SGML si je ne m'abuse.


----------



## CheepnisAroma (5 Juillet 2009)

Remontée de sujet pour demander où en est en 2009 lutilisation du langage XML dans la presse et l'édition (mise en page). Avez-vous des exemples dont vous pouvez nous faire part ? Quelles sont les limites de cette technologie ?


----------



## grumff (6 Juillet 2009)

Difficile de cerner ce que tu attends exactement comme réponse avec ça. Comme dit plus haut, le XML c'est juste une norme pour structurer des données. Son avantage c'est d'être lisible par l'humain, ses inconvénients : les perfs. C'est verbeux, avec beaucoup plus de caractères pour décrire les données que ce contiennent les données elles-même.
Dans l'édition, encore une fois ça a été dit plus haut, on a le langage XSL-T (pour le web) ou XSL-FO pour générer des documents pdf ou autres, ces langages sont au point, et n'ont pas spécialement de limitations, ils servent juste à traiter un document XML pour générer un fichier imprimable et mis en page.
Mais parler de "xml pour la presse et l'édition", ça veut vraiment tout et rien dire. XML n'a rien à voir avec ça, c'est juste une structure, voir une structure de structure pour enregistrer des données. Ça sert à faire du stockage lisible par l'humain &#8226;|


----------



## twinworld (6 Juillet 2009)

je suppose qu'il veut savoir si XML est le meilleur outil pour formater des informations existant déjà sous une autre forme. Typiquement, les journaux qui entrent une fois pour toutes chaque article et qui peuvent les diffuser sur différents supports.

Enfin, c'est l'interprétation que j'ai de la question


----------



## GrandGibus (6 Juillet 2009)

Si c'est cela, alors:

[My 2cts]

Vouloir intégrer différentes applications en voulant leur faire partager un modèle commun de données (ici, par le biais de XML) est une erreur...

L'approche par les services est bien plus flexible et adaptée...

[/My 2cts]


----------



## CheepnisAroma (6 Juillet 2009)

Lentreprise où je travaille veut faire migrer notre antique système de production et les nombreuses publications que nous mettons en ligne vers un système à base de XSL-FO. On entend plus parler que de ça : réutilisabilité, XML. Mais je ne suis pas sûr quun arbre XML soit adapté à tous les cas. Par exemple, les formules mathématiques et nous en publions souvent. Sigma = alpha puissance moins 1 sur bêta puissance moins 1 le tout multiplié par x puissance moins 1 sur y puissance moins 1. (Je prends un exemple simple, elles sont généralement plus complexes.) Et les tableaux, tout un poème. Tout ça, ça donne quoi en XML ? Quen pensez-vous ?


----------



## Anonyme (6 Juillet 2009)

indesign dispose d'un module pour importer du xml.

OpenOffice.org utilise xml pour les documents. Les formules mathématiques, avec OOo ou word sont en MathML.


----------



## grumff (6 Juillet 2009)

gloup gloup a dit:


> indesign dispose d'un module pour importer du xml.
> 
> OpenOffice.org utilise xml pour les documents. Les formules mathématiques, avec OOo ou word sont en MathML.


Bah, ça ça répond à la question du stockage de la formule, forcément c'est possible. Après générer un truc présentable en XSL-FO, ça peut être plus chiant. C'est forcément possible, le xsl-fo c'est un langage de programmation ou pas loin, et à priori on peut même faire appel à des fonctions écrites en java ou autre chose (en tous cas en xsl-t ça marche). Après la quantité de boulot que ça peut demander, c'est une autre paire de manche. Mais j'imagine que d'autres ont déjà du s'atteler au problème.


----------



## GrandGibus (6 Juillet 2009)

CheepnisAroma a dit:


> Lentreprise où je travaille veut faire migrer notre antique système de production et les nombreuses publications que nous mettons en ligne vers un système à base de XSL-FO.



Peut-être qu'il faudrait commencer par connaître les motivations de cette migration: antique ne veut pas dire systématiquement "ne répond pas au besoin". Quels sont les "apports" espérés avec cette migration qui sera forcément coûteuse ?




CheepnisAroma a dit:


> On entend plus parler que de ça : réutilisabilité, XML. Mais je ne suis pas sûr quun arbre XML soit adapté à tous les cas. Par exemple, les formules mathématiques et nous en publions souvent. Sigma = alpha puissance moins 1 sur bêta puissance moins 1 le tout multiplié par x puissance moins 1 sur y puissance moins 1. (Je prends un exemple simple, elles sont généralement plus complexes.) Et les tableaux, tout un poème.



On peut tout faire avec tout, comme par exemple abattre un âne à coups de figues molles... c'est juste que c'est plus ou moins adapté :rose:.



CheepnisAroma a dit:


> Tout ça, ça donne quoi en XML ? Quen pensez-vous ?


Une idée en passant, s'il s'agit de la refonte totale d'un système d'information, jette un coup d'oeil du coté des JCR Java.


----------



## Diablovic (7 Juillet 2009)

Pour répondre à CheepnisAroma, dans le monde de la presse et de l'édition (ou plus généralement de l'imprimerie, du moins en grosse production) , il y a le JDF, basé sur le XML. C'est encore du récent (Drupa 2004: Drupa du JDF). C'est pas spécifiquement pour la mise en page. Lien wikipedia ici
Le XML est également utilisé pour enregistrer des métadatas dans des documents (ex: dans des PDF). Mais ce n'est pas une couche visible directement par l'utilisateur.


----------

