Créé en novembre 1999 par le consortium W3C (World Wide Web Consortium), le langage XSL (Extensible stylesheet language) connaît une popularité croissante, à l’ombre du langage XML (Extensible markup language), dont il est le complément naturel. Dérivé du langage SGML (Standard generalized markup language), qui est la base de nombreux systèmes de GED (gestion électronique de documents), XML devait pallier les lacunes de HTML, qui mélange les données à afficher avec les informations relatives à la présentation, empêchant ainsi tout traitement de ces pages par des ordinateurs.
XML et XSL : à chacun son rôle
Les rôles respectifs de XML et de XSL sont clairement délimités. À XML revient la charge de représenter les données incluses dans les documents transportés et d’indiquer leur sémantique à l’aide de marqueurs appropriés et de métadonnées afin d’autoriser leur traitement par des ordinateurs ; et à XSL, celle de convertir ces données brutes contenues dans les documents XML en affichage. À cet effet, le W3C a créé deux sous-standards de XSL : XSLT (T pour transformation) afin de manipuler les données contenues dans les documents XML en entrée et créer ainsi des documents de sortie définis en XML, HTML ou WML (Wireless markup language), le HTML du WAP
; et XSL FO pour la conversion avec l’affichage. XSLT est le plus avancé de ces standards et, de loin, le plus populaire car ses domaines d’application sont facilement saisissables. Ainsi, XSLT permettra de rendre compatibles les formats des documents XML, échangés entre les entreprises dans le cadre du commerce B to B, avec ceux relatifs aux données internes des applications d’entreprise. Autre exemple : XSLT autorise une présentation différente des données contenues dans les documents XML selon le profil des internautes utilisant celles-ci ou selon le type de terminal utilisé (PC, assistant personnel, téléphone mobile, etc.).Défini lui-même en XML, XSLT autorise uniquement la définition d’un premier niveau de traitement relatif aux documents XML. Les concepteurs ont voulu créer un langage déclaratif, facile d’emploi et permettant la plupart des manipulations nécessaires autour des documents XML. Toutes les manipulations envisageables des documents XML ne sont pas réalisables au moyen du langage XSLT, mais le sous-ensemble inclus dans XSLT autorise la résolution de la majeure partie des problèmes. Pratiquement, XSLT apporte un premier niveau de traitement de ce genre de document la conversion des documents XML en entrée en documents du même type en sortie, mais dont le format est différent. Avec XSLT et quelques compléments de code, réalisés par exemple en Java, il sera possible d’effectuer toutes les manipulations de données XML.Comment fonctionne concrètement XSLT ? La première notion à connaître est celle d’un arbre hiérarchique que l’on construit à partir de l’imbrication des marqueurs dans un document XML. Ainsi, tel document contient la description en XML de différents produits commandés par une entreprise à une autre. Chaque produit étant au moins caractérisé par son type, sa référence et la quantité commandée, il peut être représenté par un arbre commande, dont les branches produits porteront elles-mêmes des feuilles types, référence, quantité. Cet arbre est, par exemple, obtenu en utilisant un parseur XML. Il constitue la structure sur laquelle les feuilles de style XSLT sont appliquées à l’aide d’un moteur de transformation XSLT.Une feuille de style XSLT est un ensemble déclaratif de templates XSLT, qui définit le modèle à appliquer sur les différents n?”uds de l’arbre obtenu en suivant leur hiérarchie dans ce dernier. Chaque template est de la forme : ” si la condition en entrée est remplie, alors générer la sortie suivante “. L’ordre des templates dans la feuille de style est quelconque, et les processeurs XSLT incluent des algorithmes de résolution de conflits entre templates si besoin est. À chaque n?”ud de l’arbre, le moteur de transformation XSLT va évaluer les conditions figurant dans les templates de la feuille de style et déterminer s’il doit effectuer une transformation, créant ainsi progressivement l’arbre de sortie. Celui-ci sera ensuite resérié sous la forme d’un nouveau document XML destiné à l’une des applications de l’entreprise, à une page HTML destinée à un navigateur Web, exécutée sur un PC, ou encore, d’une page WML (Wireless markup language) destinée au micronavigateur d’un téléphone WAP.Le langage XSLT constitue donc le complément naturel de son aîné XML, dont l’usage se multiplie progressivement dans les entreprises. De nombreux outils existent à cet effet, avec plusieurs niveaux d’abstraction possibles en termes d’utilisation. Au niveau le plus bas, les développeurs pourront utiliser les feuilles de style XSLT grâce aux nombreux moteurs de transformation XSLT, que l’on trouve chez de grands éditeurs (IBM, Lotus et Oracle). D’autres processeurs XSLT sont proposés par des éditeurs plus petits ou par des développeurs indépendants, comme les produits Saxon, Sablotron ou Unicorn XSLT Processor. Soulignons qu’ils sont tous accessibles en source libre.
Les éditeurs de serveurs d’applications dans la danse
De plus, ces outils de base sont inclus, par les éditeurs de serveurs d’applications, dans leur produit afin de permettre l’emploi du langage XSLT dans les applications Web. Ainsi, la version 6.0 du serveur d’applications WebLogic Server, de BEA Systems, contient de manière native tous les outils nécessaires, dont un parseur XML et un moteur de transformation XSLT. En outre, les outils XSLT sont couplés aux pages de script Java sur le serveur à l’aide de marqueurs spécifiques pour XSLT. La version 3.5 de son concurrent, WebSphere Application Server, proposée par IBM, contient globalement les mêmes options. Les autres rivaux tels qu’iPlanet, Oracle, HP Bluestone, ou encore, Sybase, apportent dans l’ensemble le même type de produit. Toutefois, la plupart des outils de base nécessitent l’édition textuelle des feuilles de style XSLT, ce qui les réserve à des utilisations avancées hors d’atteinte de la grande masse des développeurs d’entreprise.
Une visualisation possible du processus
Cependant, des outils visuels commencent à apparaître. Ainsi, la société Excelon a ouvert le bal avec Stylus Studio, qui montre visuellement l’association entre un document en entrée, la feuille de style XSLT et le document en sortie. IBM met à la disposition des développeurs, sur son site Alphaworks, diverses préversions : la première est relative à un éditeur visuel XSLT ; la deuxième est celle d’un outil, Visual XML Transformation Tool, qui génère les feuilles de style XSLT à partir des fichiers d’entrée et de sortie ; et enfin, la troisième concerne un outil de mise au point et de trace de l’exécution des feuilles de style. De son côté, Microsoft prépare Visual XSLT, qui offrira, selon l’éditeur, toutes les fonctions d’un environnement de développement moderne et qui sera inclus dans l’offre Visual Studio.Net.L’autre limite pour l’emploi des feuilles de style XSLT tient à la dégradation de performances causée par leur exécution, pour chaque document traité, en plus de l’analyse par parseur. Pour surmonter le problème, Sun Microsystems a créé un compilateur XSLT qu’il a récemment offert à la communauté des développeurs Apache. En pratique, cet outil devrait créer, à partir d’une feuille de style XSLT, un miniprogramme Java qui transforme le document XML au format désiré, en utilisant seulement les instructions XSLT relatives aux transformations voulues. Il en résulterait des performances accrues. Sans compter le gain important, en termes de taille. Il deviendrait donc possible d’embarquer le compilateur XSLT dans les micronavigateurs des terminaux mobiles d’accès à Internet. Mais cela reste encore à réaliser.Le premier grand domaine d’utilisation de XSLT est la présentation des informations dans les portails. Ces derniers agrègent, en effet, dynamiquement des informations différentes selon les utilisateurs provenant de diverses sources d’information, internes à l’entreprise ou externes.
Un contenu adapté au type d’interlocuteur
Il faut présenter à chaque type d’interlocuteur un contenu spécifique à son profil, et ce contenu peut changer en ligne selon les souhaits des différents utilisateurs. La représentation des informations est donc dynamique et fait le plus souvent appel au couple XML-XSLT, XML transportant les informations, et les feuilles de style XSLT assurant leur présentation, selon l’interface homme-machine définie par chaque utilisateur. Les portails d’IBM, d’Oracle et de Tibco constituent quelques exemples de portails basés sur des frameworks XML et des feuilles de style XSLT.Autre utilisation également importante de XSLT : la gestion des multiples réseaux utilisés pour interagir avec l’environnement extérieur (clients et fournisseurs), qu’il s’agisse du Web, du WAP ou de l’Audiotel. Dans ce cadre, XSLT peut suffire dans de nombreux cas pour fournir les informations appropriées aux différents interlocuteurs à partir de celles disponibles sous la forme de documents XML. L’aspect multicanal est souvent pris en compte par les éditeurs tels qu’IBM ou Oracle, qui fournissent les feuilles de style réalisant la conversion de HTML en WML dans leurs produits.WebSphere Transcoding Publisher, complément multicanal du serveur d’applications d’IBM, prend ainsi en compte les PC, les assistants personnels Palm et Pocket PC, les téléphones mobiles en conformité avec les langages HDML (Handheld markup language), WML pour les WAP.9i Application Server, d’Oracle, qui inclut dorénavant le portail pour mobiles précédemment dénommé Portal to Go, gère les mêmes standards que le produit d’IBM. Mais, même dans ce cas, il est intéressant de connaître XSLT pour pouvoir régler plus facilement la présentation des informations sur les différents terminaux, en modifiant ces feuilles de style fournies en standard, sauf dans le cas des téléphones WAP.Le second grand domaine d’utilisation du langage XSLT réside dans l’intégration des applications, que celles-ci soient issues d’un même système d’information ou de plusieurs autres tels que ceux de l’entreprise et de ses partenaires. Il s’agit du domaine dans lequel le couple XML-XSLT est le plus populaire.
Les entreprises doivent convertir les données reçues
En effet, l’usage de XML se généralisant dans le commerce B to B, de nombreuses entreprises ont adopté XML pour leurs échanges électroniques commerciaux. Cependant, malgré ce développement, les formats des données qu’elles utilisent sont suffisamment différents pour que les besoins de transformation restent énormes. De plus, il est nécessaire de convertir les données reçues dans les formats compréhensibles par les applications de l’entreprise. Ainsi, le domaine d’utilisation des feuilles de style XSLT est très vaste, et tous les éditeurs de solutions d’intégration tant A to A (Application to application, à l’intérieur de l’entreprise) que B to B (Business to business, entre deux entreprises) ont placé XSLT au c?”ur de leurs offres, sans toutefois vouloir en faire le centre des préoccupations des utilisateurs de leurs produits.En effet, les offres de serveurs d’intégration B to B incluent des outils de génération des feuilles de style à partir de la définition graphique des transformations à réaliser entre un document XML en entrée et un autre en sortie. Afin, par exemple, de convertir les informations XML en provenance de partenaires commerciaux en données compréhensibles par l’application de traitement en interne de l’entreprise. Le serveur d’intégration Web Methods BtoB inclut un outil de génération automatique des feuilles de style XSLT à partir d’une correspondance établie graphiquement entre deux formats de données.De même, BizTalk Mapper, inclus dans le serveur d’intégration BtoB BizTalk Server, de Microsoft, est un autre exemple de ce type d’outil, qui procure en plus la vision du code XSLT généré. L’outil Visual XML Transformation Tool, d’IBM, s’inscrit également dans la même logique. Bien que déroutante pour des développeurs, cette approche de définition graphique et transparente des feuilles de style XSLT facilite la prise en compte des échanges B to B par les opérationnels de l’entreprise.
🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.