Ce TP est consacré à la partie 1 et 2 du tutorial "Use Cascading Stylesheets to display XML" (developerWorks, November 2004).
Il faut bien comprendre que dans le cas de XML le navigateur n'a pas connaissance de la semantique des éléments. Il n'y a pas de style associé par défaut.
* {border : solid black 1px;} /* tous les sélecteurs vont être encadrés en noir */rem : J'utilise en phase préliminaire ce code pour voir les limites des blocs.
Sortie xml
CSS permet de créer automatiquement des tableaux. Considérons la structure suivante un élément "livre" contenant plusieurs "chapitre"contenant plusieurs "para". <livre> <chapitre> <para> <para> <chapitre> <para> <chapitre> <para> <para>
En considérant que "livre"=<ele-tab>, "chapitre"=<ele-ligne> et "para"=ele-cellule. Cette structure peut facilement être représentée sous forme de tableau de ligne de paragraphes.
<ele-tab> <ele-ligne> <ele-cellule> <ele-cellule> <ele-ligne> <ele-cellule> <ele-ligne> <ele-cellule> <ele-cellule>
* { padding: 0.5em; border: solid 2pt blue; }
ele-table { display: table;}ele-ligne { display: table-row; }ele-cellule { display: table-cell;}
CSS permet d"écrire avant ou après un élément.
selecteur:before|after {content: 'blabla:';}
CSS permet de référencer les attributs par la fonction attr
attr(nom)
CSS permet selectionner des attributs.
CSS permet de sélectionner des éléments par un test sur leur attribut.
<?xml-stylesheet type="text/css" href="master.css"?><?xml-stylesheet type="text/css" href="imp.css" media="print"?>