Re: Une histoire de styles ...

David Rivron <[email protected]>
Newsgroups gmane.text.xml.french.tech
Message-ID <[email protected]>
Je propose cette solution :

<xsl:template match="p">
    <xsl:apply-templates select="@class">
    ...
</xsl:template>

<xsl:template match="@class[contains(., "blue")]>
    ...
</xsl:template>

Un problème survient lorsqu'un nom de classe en comprend un autre (ex : 
blue, blue1).
Pour y remédier mais c'est assez lourd, on peut concaténer un espace 
blanc à la fin de la valeur de l'attribut : @class[contains(concat(., " 
"), "blue "].

David RIVRON

Jean-Luc Mathieu a écrit :
> Oui, c'est ce à quoi je suis arrivé (style unique).
>
> Cependant, je souhaiterais avoir des templates indépendants, comme par 
> exemple :
>
> <xsl:template ...><!-- template pour le rouge --></xsl:template>
> <xsl:template ...><!-- template pour le gras--></xsl:template>
>
> ... afin de gérer toutes les combinaisons sans avoir à réécrire un 
> template à chaque fois :
>
> <p class="rouge gras">...</p>
> <p class="rouge">...</p>
> <p class="gras">...</p>
> <p class="gras rouge">...</p>
> ...
>
>
> Tiscar Sebastien a écrit :
>   
>> bonjour,
>> 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>
>> voila
>>
>>
>> ----- Original Message -----
>> From: "Jean-Luc Mathieu" <[email protected]>
>> To: <[email protected]>
>> Sent: Friday, February 10, 2006 3:15 PM
>> Subject: [xml-tech] Une histoire de styles ...
>>
>>
>> Bonjour !
>>
>> Je cherche à reproduire un tant soit peu le système des classes de
>> styles xhtml au sein d'une feuille de style XSL. En fait, je
>> souhaiterais que la présence d'un attribut style sur n'importe quel
>> noeud d'entrée provoque l'appel à un ou plusieurs templates, en fonction
>> des noms de style que cet attribut contient.
>>
>> Par exemple, si je décode une balise <p class="rouge gras">...</p>, je
>> souhaiterais déclencher les templates associés au style rouge et au
>> style gras.
>>
>> Je ne sais pas si c'est faisable en XSL 1.0, c'est pourquoi je vous pose
>> la question. J'ai réussi à trouver un moyen dans le cas où on spécifie
>> qu'un seul style à la fois, mais pas dans le cas où plusieurs styles
>> sont possibles ...
>>
>> Merci d'avance pour vos réponses.
>>
>> --
>> Devenez redacteur <XML>fr et contribuez au developpement du
>> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>>
>> Liste de diffusion "[email protected]" (http://xmlfr.org).
>>
>> Cette liste est a votre disposition pour discuter en francais de
>> tout sujet technique lie a XML.
>>
>> Pour resilier votre abonnement, envoyez un message contenant
>> la commande "unsubscribe" a [email protected]
>> (mailto:[email protected]?Subject=unsubscribe)
>>
>>
>>
>> --
>> Devenez redacteur <XML>fr et contribuez au developpement du
>> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>>
>> Liste de diffusion "[email protected]" (http://xmlfr.org).
>>
>> Cette liste est a votre disposition pour discuter en francais de 
>> tout sujet technique lie a XML.
>>
>> Pour resilier votre abonnement, envoyez un message contenant 
>> la commande "unsubscribe" a [email protected]
>> (mailto:[email protected]?Subject=unsubscribe)
>>
>>
>>
>>   
>>     
>
>
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.