Re: Une histoire de styles ...

Robin Berjon <[email protected]>
Newsgroups gmane.text.xml.french.tech
Message-ID <[email protected]>
On Feb 10, 2006, at 17:19, Tiscar Sebastien wrote:
> il suffit dans le template de spécifier le prédicat qui correspond
> dans votre exemple
> <p class="rouge gras"></p>
>
> matchera avec un template déclaré:
> <xsl:template match=p[@class='rouge gras']></xsl:template>

Non, si je comprends bien son problème ça n'y répond pas. L'attribut  
class est une liste de noms de classes séparés par des espaces, et il  
voudrait déclencher des templates particuliers pour "rouge" ou "gras".

En XSLT 2.0 c'est facile, si class est déclaré (ou casté) de type  
NMTOKENS, alors @class = "rouge" ou @class="gras" devraient marcher.  
En XSLT 1.0 il faut parser la valeur d'attribut en XSLT et comparer  
sur le résultat. C'est faisable, mais pas forcément facile (ni  
élégant). Le mieux est probablement soit d'utiliser une librairie  
fournissant déjà ce type de parsing, soit d'utiliser une extension du  
processeur. Par exemple une extension regex permettrait de chercher  
quelque chose de l'ordre de "\bmaClasse\b".

-- 
Robin Berjon
    Senior Research Scientist
    Expway, http://expway.com/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.