Mais aujourd’hui avec XSLT on a mieux :![]()
- La mise en forme : CSS. Tout le monde connait !
- Les traitements : XSL. Vulgairement : dans une feuille XSL on utilise un langage pour transformer le XML (XSLT), un langage d’interrogation qui permet de sélectionner les balises XML (XPath) et un truc qui ne sert à rien dans notre cas, XSL-FO.
- Les données : XML. Tout le monde connait !
Commencez par créer une feuille CSS, un fichier balisé XML et votre feuille XSL. Maintenant buvez deux litres de bière et résumez : mon XSLT analyse (“parse” en anglais) les balises qu’on sélectionne avec XPath et les transforme en (X)HTML (ou autre), puis mon CSS associe des attributs de formatage aux classes d’éléments lors de l’affichage dans le navigateur.
Mais les fichiers XML de données structurées (écrit dans un vocabulaire spécifique) existent déjà dans une base de données : une structure (des colonnes dans des tables) et des données (des tuples). D’ailleurs l’intérêt du XML n’est que de stocker sous forme structurée des données.
Voici (en simplifiant) un tuple de la table personne dont les colonnes sont id, nom et prenom, traduit en XML :
<personne id=”1″ nom=”Duchnoc” prenom=”Robert” />
Il suffit donc d’appliquer les traitements XSLT directement sur le résultat XML des requêtes, associer la feuille CSS, et le tour est joué ; vous avez crée une page en 3 lignes, bravo !
Voilà le processus :
- Je requête ma base de données
- Je transforme le résultat balisé XML avec ma feuille XSL en (X)HTML
- J’associe la mise en forme CSS au résultat qui sera mis en forme lors de l’affichage dans le navigateur.
Pour aller plus loin, il suffirait de concevoir le modèle d’une méta-base d’un site web contenant la structure et le contenu pour qu’en trois fichiers vous puissiez créer un site dynamique en entier.