Cours XSLT Qu’est-ce qu’une règle modèle (template)?

Cours XSLT Qu’est-ce qu’une règle modèle (template)?, tutoriel & guide de travaux pratiques en pdf.

L’espace de nom (namespace) de XSL(T)

XSLT constitue un bel exemple d’utilisation de la philosophie des « espaces de nom » XML (XML namespaces). Toute feuille de style XSL(T) débute en effet (après la processing instruction xml) par une déclaration de l’espace de nom xsl : <xsl:stylesheet xmlns:xsl= »http://www.w3.org/1999/XSL/Transform » version= »1.0″> ou <xsl:transform xmlns:xsl= »http://www.w3.org/1999/XSL/Transform » version= »1.0″> (synonyme)

Deux avantages :
 Le préfixe xsl: va permettre de différentier à l’intérieur de la feuille de style les éléments qui appartiennent au langage XSLT de ceux qui devront apparaître dans le résultat final (les « éléments de résultat litéral »)  L’URI spécifiée dans la déclaration de l’espace de nom va éventuellement permettre de distinguer plusieurs implémentations de XSLT. (C’est ce que fait en particulier le nouveau moteur XSLT (MSXML3) de Microsoft et qui lui permet de traiter aussi bien des feuilles de style « IE5 natif » que XSLT 1.0)
Note. Le préfixe xsl: est le préfixe couramment utilisé mais n’est pas obligatoire. L’important est l’URI spécifiée dans sa déclaration. Ce qui suit serait donc valide :
<toto:transform xmlns:toto= »http://www.w3.org/1999/XSL/Transform » version= »1.0″> …. </toto:transform> La philosophie des « règles modèle » (templates)

Qu’est-ce qu’une règle modèle (template)?
Comparaison avec les règles CSS
En dépit de ce qui vient d’être dit sur la différence entre CSS et XSLT, il est utile de partir de l’exemple des feuilles de style CSS pour bien comprendre comment fonctionnent les règles modèles XSLT.
On se rappelle qu’une feuille de style CSS se compose d’un certain nombre de règles (rules). Chacune de ces règles se composant :
1. d’un sélecteur (ex. p.commentaire em, qui signifie « les balises <em> contenues dans une balise <p> de classe commentaire ») 2. d’une ensemble de déclarations du type propriété (ex. color) – valeur (ex. yellow)
p.commentaire em {color: yellow }
L’effet d’une règle CSS est que si un élément (une balise) du source HTML se trouve satisfaire à la condition exprimée par le sélecteur de cette règle, l’objet de formattage correspondant (paragraphe pour une balise <p>, cellule de table pour une balise <td>, etc.) se verra affecté des caractéristiques spécifiées par les déclarations de la règle (dans notre exemple la couleur jaune). Mais il est important de comprendre qu’une feuille CSS ne fait que décorer un arbre HTML ; elle ne le modifie pas. Une règle CSS ne fait qu’ajouter des caractéristiques nouvelles (positionnement, couleurs, polices de caractères, etc.) à un objet de formattage qui aurait été généré de toutes façons, CSS ou pas. En conséquence une régle CSS vide (ne contenant aucune déclaration) sera simplement sans effet : lorsqu’une balise satisfera aux conditions exprimées par son sélecteur, l’objet de formattage associé sera généré exactement comme si la règle n’existait pas.
Autre caractéritistique des feuilles de style CSS : l’ordre d’apparition des règles dans la feuille de style est indifférent.
Enfin, lorsqu’une balise satisfait aux conditions exprimées par les sélecteurs de plusieurs régles, l’objet de formattage associé va être affecté de la somme des caractéristiques spécifiées par les déclarations listées dans ces différentes règles. En cas de conflit entre des déclarations, un mécanisme de priorité entrera en jeu : la déclaration qui est contenue dans la règle la plus spécifique (ex. p.commentaire em est plus spécifique que em) va l’emporter.

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *