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)
>>
>>
>>
>>
>>
>
>