Bonjour,

J'ai découvert aujourd'hui, plus en profondeur, le langage XML, notamment en faisant des tests. Je trouve que ce langage est plein de promesses en terme de portabilité, de facilité, de compatibilité, de sémantique, etc.
Comme je développe des sites Web pour des entreprises, j'aimerais intégrer cette technologie dans mes sites Web, particulièrement pour les sites Web bilingues. Je voudrais cependant savoir si on peut vraiment utiliser le langage XML "pur" dans le contexte actuel ? Est-il supporté par la majorité des navigateurs ?
Je sais que dans IE6 et Firefox 1.5, le résultat est correct mais autrement, je n'ai aucune idée. Je ne vois pas non plus très souvent des sites qui sont réalisés en XML... S'agit-il seulement d'un langage à utilisation restreinte (local) pour le moment ou peut-on le déployer à grande échelle dans des solutions Web ?
Merci d'avance.

Cordialement,

Alexandre Clément
Modération : merci de ne pas signer systématiquement avec l'URL de votre site, celle-ci étant déjà renseignée dans le profil.
Modifié par Stephan (25 Jul 2006 - 06:12)
a.clement a écrit :
Je sais que dans IE6 et Firefox 1.5, le résultat est correct mais autrement, je n'ai aucune idée.

Je ne voudrais pas dire une bêtise, mais il me semble qu'IE6 ne gère pas du tout le XML… c'est d'ailleurs la raison pour laquelle on ne peut pas lui adresser du XHTML avec type MIME application/xhtml+xml, mais uniquement en tant que HTML à la syntaxe vaguement XMLisée (XHTML 1.0 avec type MIME text/html).
Ceci n'est qu'une partie de la vérité.
Il y a en effet beaucoup d'incohérences dans le traitement de XML par IE6. Ceci est imputable à son grand âge.
S'il n'est pas possible d'utiliser directement le Mime-type adéquat, il est possible de virtualiser ce dernier à travers un text/html et une déclaration XML associée à un traitement XSLT.
Aujourd'hui, XML est tout à fait mûr pour être utilisé directement sur les navigateurs.
Attention quand même à ne pas négliger l'aspect Accessibilité, Visibilité et Compatibilité.
Il faut se fixer une limite : moi je considère IE5 et NN comme obsolètes.

XSLT peut-être une bonne solution à de nombreux problèmes de mise en page. On peut alors replacer des balises sémantiques dans des balises plutôt orientées "style".
exemple : les groupes de <div>

exemple de page fonctionnant avec XSLT
(attention cependant les liens du menu pointent vers une version pré-transformées côté-serveur)
(ne pas prendre en compte le niveau hyper débutant du contenu de ces pages)
Bonjour,

J'ajoute mon grain de sel à ce sujet qui introduit quelques approximations douloureuses pouvant nuire, me semble-t-il, à la bonne compréhention des technologies, et au bon usage de celles.
a.clement a écrit :
Je trouve que ce langage est plein de promesses en terme de portabilité, de facilité, de compatibilité, de sémantique, etc
1/ XML n'est pas un langage, mais un méta langage. Il ne définit donc en gros qu'une syntaxe et un moyen de structurer, mais pas de vocabulaire ni de grammaire. En revanche sur cette syntaxe, il est possible de définir une multitude (une infinité en fait) de langages. XHTML, MathML, XSL, SVG... en sont des exemples bien connus des webmasters.
a.clement a écrit :
Je voudrais cependant savoir si on peut vraiment utiliser le langage XML "pur" dans le contexte actuel
2/ je suppose qu'il faut traduire XML pur par XML propriétaire. Peut-être même faut il compléter par "XML devant être transformé sur le poste client par du XSLT" ? (l'intention de l'auteur sur cette question ne me parait pas certaine).

3/ d'ailleurs j'en profite à l'occasion pour rappeler qu'il est possible de styler du XML propriétaire avec une feuille de style CSS.
a.clement a écrit :
S'agit-il seulement d'un langage à utilisation restreinte (local) pour le moment ou peut-on le déployer à grande échelle dans des solutions Web
Aucune ambiguïté la dessus XML est utilisé sous des formes très variées et à très grande échelle dans tous les projets web conséquents.
mpop a écrit :
mais il me semble qu'IE6 ne gère pas du tout le XML
Sincèrement je trouve la remarque très excessive, et je n'ai aucun goût pour la polémique. Smiley cligne

4/Concernant le problème de IE avec le type MIME application/xhtml+xml, 3 choses :
a/ cette difficulté n'est qu'un problème d'étiquetage. Si dans une corbeille de fruits exotiques je cherche à nommer les différents fruits, et que j'indique par erreur rambutan sur un mangoustan. Le fruit est-il au fond, un rambutan, vaguement un mangoustan ou un mangoustan ? De même pour IE, ce navigateur exploite parfaitement bien du XHTML c'est à dire un fichier XML pur et simple.
b/ ce même navigateur accepte finalement mieux qu'il n'y parait le type MIME application/xhtml+xml sauf qu'il n'est pas capable d'en produire le rendu "à la HTML". Il propose au contraire un rendu XML.
c/ Ce même navigateur, complété du plugin mathplayer offre un rendu parfait de XHTML+MathML+CSS sur un type MIME application/xhtml+xml.

5/ Par ailleurs IE est capable de présenter n'importe quel contenu XML propriétaire (ou non) avec ou sans transformation XSLT (j'entends bien ici une transformation réalisée par IE6 himself). Je pense donc qu'il est plus raisonnable de dire qu'IE6 (du fait de XSLT notamment) dispose d'une gestion avancée de XML, même si celle ci est encore imparfaite.

6/ pour finir en revenant sur le sujet d'origine, je donnerais 2 conseils :
a/ tourner 7 fois sa langue dans sa bouche avant d'inventer un nouveau langage XML propriétaire, et bien vérifier qu'il n'y a pas moyen d'utiliser des langages XML plus standards.
b/ sauf cas très particulier, effectuer les transformations XSLT coté serveur.

La plupart des projets respectant les 2 règles énoncées, il n'y a aucun moyen de détecter l'emploi de XML dans les solutions web, bien qu'il y soit presque systématiquement présent.
Slt,

c'est à mon tour d'apporter quelques précisions. XML est certes puissant et flexible, mais il ne fait rien à lui tout seul.
Tu veux faire du dévellopement web en utilisant XML. Très bien, mais c'est ce que tu fais déjà en utilisant XHtml !

J'ai l'impression qu'en fait, tu veux servir du XML proprio inventé par toi même (genre <mapage><montitre>Titre du site</montitre><!-- etc </mapage>) et le styler avec CSS. C'est possible, mais la question est : quel intérêt ? Pourquoi réinventer la roue ?

il existe déjà un langage adapté à la présentation de document sur le Web, c'est XHtml.

Quant à Xslt, c'est une technologie excellente, mais pourquoi l'utiliser dans ton cas ? Le XML étant mauvais pour le stockage (de toute façon pas fait pour ça), tes données sont sans aucun doute dans une BDD. Imagine la perte de temps de faire :
extraction données de la bdd -> écriture d'un document XML proprio -> transformation Xslt vers XHtml -> envoie du fichier
quand on peut simplement faire :
extraction de la bdd -> écriture et envoie du document XHtml
?

Donc n'utilise pas Xslt et Cie à tord et à travers, il est rarement utile dans une application Web.

a+
Xavier a écrit :
5/ Par ailleurs IE est capable de présenter n'importe quel contenu XML propriétaire (ou non) avec ou sans transformation XSLT (j'entends bien ici une transformation réalisée par IE6 himself). Je pense donc qu'il est plus raisonnable de dire qu'IE6 (du fait de XSLT notamment) dispose d'une gestion avancée de XML, même si celle ci est encore imparfaite.

Merci pour l'info.
Il me semblait avoir lu que IE ne gérait pas du tout le XML. Je suis presque sûr de l'avoir lu tel quel, mais la source n'était sans doute pas fiable sur ce sujet. Merci donc d'éclairer ma lanterne. Smiley smile
mpop a écrit :
Il me semblait avoir lu que IE ne gérait pas du tout le XML. Je suis presque sûr de l'avoir lu tel quel
je ne doute pas qu'il soit facile de lire quelque chose comme ça. Il s'agit probablement d'un écrit d'une personne un peu radicale, qui vue le problème d'étiquetage de IE6, considérant ce dysfonctionnement intolérable, rejette tout en bloc (j'exclue l'hypothèse du fantaisiste privé de compétence technique).

Pour ma part je te convie à un test simple pour te faire une idée concrète. Prend un tout petit fichier de contenu XML (XML propriétaire par exemple), utilise le en local sous Windwows, et prend soin de lui mettre une extension .xml.
- tu ouvres avec IE6 : présentation de l'arbre XML
- tu ajoutes une ligne d'appel à un fichier CSS, et toujours avec IE6 : présentation des noeuds texte avec prise en compte des styles
- tu remplaces la ligne d'appel à CSS par un appel à un fichier XSLT et toujours avec IE6 : présentation de l'arbre transformé

Ce me semble être un support raisonnable de la technologie XML. Non ?