Accueil

XML et les butineurs grand public : le point en temps réel

Emmanuel Lazinier
Création de la page : 2000-07-03
Dernière mise à jour : 2002-03-26
Dans cette rubrique nous nous proposons de chroniquer en temps réel la manière dont XML est traité par  les butineurs grands public.
Nous nous efforcerons dans la mesure du possible de tenir cette page à jour à mesure de l'évolution de la situation. Si vous constatez des inexactitudes à corriger, des lacunes à combler, ou tout simplement des évolutions à prendre en compte, merci de nous en faire part sans tarder.


Microsoft Internet Exploreur 5 "natif"

Microsoft Internet Exploreur 5 (MSIE5 pour le intimes), apparu en mars 1999, a été le premier butineur grand public XML-apte. A son apparition un certain nombre de spécifications de la "galaxie" XML, et tout particulièrement le langage de transformation appelé depuis XSLT (qui à l'époque n'était pas encore distingué de XSL) n'étaient pas encore arrivées à maturité. A mesure que celles-ci se sont stabilisées, il était donc naturel qu'apparaissent des divergences entre l'implémentation initiale de Microsoft et les recommandations finales du W3C. Ces divergences étaient la rançon de la précocité. Elles étaient en quelque sorte le prix à payer pour que nous puissions commencer à jouer si tôt avec XML.

L'implémentation de XSLT dans MSIE5 (MSXML 2.0 à 2.5), alias "WD-xsl"

L'ensemble de la documentation relative à XML tel que traité dans Microsoft Internet Exploreur 5 "natif" (de MSXML 2.0 livré avec MSIE5, à MSXML 2.5 livré avec Windows 2000) était (et est toujours) disponible sous la forme d'un  Kit de documentation Microsoft XML 2.5 SDK téléchargeable

L'implémentation de XSLT dans MSIE5 était conforme dans ses grandes lignes au projet (Working Draft) XSL du  16 décembre 1998 (et c'est pour cette raison qu'elle est désignée par certains auteurs sous le vocable de "WD-xsl"). Elle différait du Working Draft sur quelques points, résumés sur le kit de documentation MSXML 2.5 à la page  XSL Working Draft Conformance Notes . En particulier :

(Voir aussi sur notre site Les Trucs et Astuces XML au paragraphe Eviter les pièges du moteur XSLT de MSIE5.)

L'implémentation de XSLT dans MSIE5 comportait aussi, entre autres, les extensions propriétaires MS suivantes :

Bogues et problèmes connus

L'analyseur  (parser) XML MSXML 3.0  de Microsoft, et son intégration éventuelle dans Internet Exploreur 5

Ainsi que mentionné plus haut, après la sortie de MSIE5, la spécification XSL a été scindée en deux parties : Afin de permettre  à MSIE5 d'être mis au goût du jour, Microsoft a proposé  en téléchargement dès janvier 2000 un nouvel analyseur (parser) XML  (MSXML 2.6) conforme à la spécification XSLT 1.0. Après plusieurs versions intermédiaires, une  version "production" de cet analyseur (MSXML 3.0 -- celui-là même qui devait être par la suite intégrée à MSIE6), était publiée le 27 octobre 2000. Elle était (et est toujours) séparément téléchargeable, ainsi que sa documentation, le Kit de documentation Microsoft XML SDK 3.0  (près de 700 pages imprimées !). (Voir aussi en français MS XML 3.0 & MS XML SDK 3.0 Final ; MSXML 3.0 .cab File Redistribution Package.)

Note 1. Attention à ne pas confondre ce SDK avec celui qui documente Microsoft Internet Exploreur 5 "natif, et dont l'appellation fort semblable peut aisément prêter à confusion.

Note 2. Une mise à jour de MSXML 3.0, MSXML 3.0 Service Pack 1, a été proposée au téléchargement le 16 avril 2001. Elle corrige un certain nombre de bogues. Voir aussi Les nouveautés de l'analyseur XML version 3.0 Service Pack 1 de Microsoft

Note 3.La documentation relative à MSXML 3.0 est également consultable en ligne sur le site MSDN dans le XML Developer's Guide. Voir en particulier :

MSXML 3.0 et MSIE5 : une cohabitation complexe

Si vous disposiez de MSIE5 et que vous installiez MSXML 3.0 (jusques et y compris la version Service Pack 1) sur votre machine, cette installation provoquait l'écriture dans votre répertoire système de nouvelles DLL correspondant au nouvel analyseur. Mais elle n'écrasait pas la DLL (msxml.dll) qui correspondait à l'analyseur d'origine de MSIE5.

Vous aviez alors le choix :

Microsoft a tardivement (septembre 2001 ?) publié des informations (PRB: Applications Errors Occur After You Run Xmlinst.exe on Production Servers) qui tendaient à  dissuader d'installer MSXML 3 sous MSIE5 en mode "replacement" au moyen de  l'exécutable xmlinst.exe : cette installation pouvait rendre votre système instable et provoquer le plantage de certaines applications ; elle mettait votre ordinateur dans un état "non soutenu" (unsupported) ! Et peu de temps après (21 septembre 2001) elle proposait  le MSXML Parser 3.0 Service Pack 2, qui, lui, ne connaît pas de mode "côte à côte", et ne peut s'installer qu'en mode "remplacement". C'est donc cette dernière version qu'il convient d'installer si vous ne souhaitez pas (ou ne pouvez pas) installer MSIE6 sur votre machine et que vous désirez néanmoins disposer d'un analyseur pleinement conforme aux spécifications XSLT 1.0 et XPath 1.0.

Note 1. Le nouvel analyseur MSXML 3.0 est rétrocompatible avec l'ancien (MSXML 2.0 à 2.5). Ce qui veut dire si vous disposez de  MSIE5 avec MSXML 3.0 installé en mode "remplacement" (ou tout simplement de MSIE6, qui comporte MSXML 3.0 en standard) vous pouvez visualiser aussi bien des fichiers XML associés à une feuille de style XML :

La différence étant faite par la déclaration d'espace de nom en tête de la feuille de style xslt : Note 2. Microsoft propose en téléchargement l'outil XSL to XSLT Converter pour convertir les feuilles de style écrites pour MSIE5 "natif" en feuilles de style XSLT 1.0

Note 3. L'installation sur votre machine de MSXML 3.0 et du SDK nécessite que Windows Installer (MSI) ait été préalablement installé.
 

Consulter aussi :

Internet Explorer 6

Disponible depuis le 27 août 2001 (il l'était depuis le 28 mars 2001 en version beta), Internet Explorer 6 comporte en standard, comme prévu,  l'analyseur MSXML 3.0 présenté comme entièrement conforme aux spécifications XSLT, XPath et et DOM1 du W3C. En ce qui concerne les autres spécifications du W3C, on remarque qu'IE6 s'annonce aussi pleinement conforme à CSS1. Quant à MathML et SVG, leur implémentation est reportée à plus tard : il faudra en attendant se contenter de plug-in...
Note. L'analyseur XML de MSIE6 est toujours rétrocompatible avec celui de MSIE5 "natif", autrement dit les feuilles de style écrites en "WD-xsl" y fonctionnent toujours.

Voir aussi :

Le "Microsoft XML Core Services (MSXML) 4.0"

Disponible depuis le 13 avril 2001, mise à jour le 16 juillet 2001,  parvenue le 15 octobre 2001, sous la nouvelle dénomination  de "Microsoft XML Core Services (MSXML) 4.0", au stade "production quality", et enfin proposée depuis le 14 mars 2002 sous la forme d'un MSXML4 SP 1 (Microsoft XML Core Services), la version 4.0 de l'analyseur XML de Microsoft se distingue de la précédente essentiellement par le support de la recommandation XML Schema du W3C (promulguée le 2 mai 2001). Contrairement à MSXML 3.0, ce nouvel analyseur ne peut pas s'intégrer dans MSIE : il ne peut fonctionner qu'en mode "côte à côte" (side by side), et ne peut donc être invoqué que par programme, en utilisant les identificateurs d'objet correspondants. (Voir ci-dessous Comment lancer des transformations XSLT faisant appel aux différentes versions de l'analyseur Microsoft.).

L'exécutable d'installation de MSXML 4.0 installe à la fois les DLL et le kit de documentation (SDK) correspondant, qui sera dès lors accessible par le menu Démarrer/Programmes/MSXLML 4.0.

Voir aussi :

Comment lancer des transformations XSLT faisant appel aux différentes versions de l'analyseur Microsoft

MSXML 2.5 (intégré à MSIE5 "natif")

MSXML 3.0 (installé séparément ou intégré à MSIE5)

La différence entre les deux scripts précédents réside simplement dans l'appel de l'objet "document XML" : Note 1. Si la feuille de transformation utilise XSLT 1.0, et non pas l'implémentation XSL(T) de IE5 "natif", le script proposé ci-dessus a l'inconvénient de générer systèmatiquement une déclaration d'encodage UTF-16, quel que soit l'encodage spécifié dans l'instruction <xsl:output>. Si nous voulons pouvoir générer la déclaration d'encodage ISO-8859-1 qui convient à nos documents en français, nous aurons donc intérêt à modifier notre script en y remplaçant la méthode transformNode par la méthode transformNodeToObject : Note 2. La méthode transformNodeToObject n'a qu'un inconvénient : elle suppose que le résultat de la transformation soit un fichier xml bien formé. Elle ne peut donc fonctionner correctement si l'on a paramétré la feuille de transformation de manière à obtenir en sortie un fichier html (<xsl:output method="html">  ou texte (<xsl:output method="text">:-( Heureusement, Laurent Kempé nous a concocté un script qui obvie à ce problème (pour MSXML 4.0, mais vous pouvez la modifier pour MSXML 3.0) : qu'il en soit remercié :-)

MSXML 4.0 (installé séparément)

Netscape Navigator 6

Netscape Navigator 6, disponible depuis avril 2000, était annoncé comme compatible XML. Hélas, à ce jour nous n'avons pas encore réussi : Ne manquez pas de nous informer si vous trouvez des informations qui infirment ce triste constat.

Note.  Mozilla, dans sa version Milestone 18  (12 octobre 2000) propose une variante, disponible sous Windows et Linux, sachant exploiter MathML, SVG and XSLT. Elle est assez peu stable (sous Windows) mais parvient néanmoins à lire convenablement certaines pages XML + XSLT (sans rendu des styles CSS toutefois). Téléchargement.

Voir aussi...


Retour à la page d'accueil.