Page 1 sur 1

Mise en forme dans XML

Posté : 25 févr. 2008, 00:16
par cf357
Un sujet un peu similaire au précédent, mais je vais formuler plus explicitement mes nouveaux besoins :

j'aimerai que "l'utilisateur" d'un de mes outils puisse mettre en forme certaines choses directement dans le fichier XML.

Exemple foo.xml :

Code : Tout sélectionner

<root> <balise>et voila quelque chose de <gras>TRES</gras> important</balise> </root>
Au final, lors du parsing avec une feuille de style XSL / XSL-Fo, je voudrai bien évidement que "TRES" soit en gras. Je sais que normalement, on ne met pas de mise en page dans le HTML, mais dans ce cas là, c'est l'utilisation qui me semble de loin la plus simple pour le moment...

Si quelqu'un peut m'aiguiller, pour que ça puisse fonctionner correctement aussi bien avec XSL que XSL-Fo, je suis plus que preneur !!

Posté : 25 févr. 2008, 15:47
par Hubert Roksor
Pour XSL-FO je ne sais pas (et à moins que tu travailles dans l'édition, tu n'as pas envie de le savoir non plus) mais en XSLT c'est facile :

Code : Tout sélectionner

<xsl:template match="//gras"> <b><xsl:apply-templates /></b> </xsl:template>

Posté : 25 févr. 2008, 15:55
par cf357
Ahah merci beacuoup, je n'avais pas pensé a écrire les templates avec un matching comme ca ! Je teste ce soir en rentrant !

PS : J'ai vraiment besoin de savoir pour XSL-Fo, mais ton petit morceau de code m'a inspiré pour y arriver ;-)

Posté : 25 févr. 2008, 17:45
par Hywan
Bonjour :).

Avec XSL-FO tu aurais un truc du genre :

Code : Tout sélectionner

<xsl:template match="//gras"> <fo:block font-weight="bold"> <xsl:apply-templates /> </fo:block> </xsl:template>
Il serait plus judicieux d'utiliser fo:inline plutôt que fo:block, mais ça dépend de la façon dont tu as construit les parents de //gras.

Posté : 26 févr. 2008, 22:50
par cf357
Et voilà j'ai réglé tout ça grâce à vous :)
Encore merci !

HyWaN > En effet j'ai plutôt mis "inline" ;-)