🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.text.xml
Article #9589

Re: (XSL) voici un petit problème de d'affichage de texte ....

#9589
From: Tom.
Date: Thu, 08 Mar 2001 17:22
71 lines
3957 bytes
In <20010308115623.19797.00000259@ng-bg1.aol.com>, Lagaffe869 wrote:
> <p>
> d�but du texte
>    <image>image.gif</image>
> fin du texte.
> </p>
> 
> Comment fais-tu ? svp

Essaie �a (tel quel) pour comprendre comment �a se passe.

<xsl:template match="p">
  [paragraphe:
    <xsl:apply-templates/>
  :paragraphe]
</xsl:template>

<xsl:template match="text()">
  [#texte:
    <xsl:copy/>
  :#texte]
</xsl:template>

<xsl:template match="image">
  [image:
    <xsl:apply-templates/>
  :image]
</xsl:template>

> et en fait j'avais un document avec une suite de balise et je voulais le
> prendre lin�airement en disant
> si balise <p> alors tu passes en <font arial ect... et tu affiches le
> texte si balise <image> alors tu ...
> 
> j'ai abord� le pb avec xsl:template avec un match.
>   <xsl:template match="p"> par exemple
> et pour afficher je faisais un
>           <xsl:value-of select="." />
> j'ai l'impression que je n'ai pas pris le bon chemin....

Si, � part le value-of, que tu remplaceras par un apply-templates.

> sans rentrer dans les d�tails peux-tu m'en dire un peu plus

Il faut bien comprendre que XPath et XSLT ne travaillent pas sur des 
*fichiers* mais sur des *arborescences*. Il faut donc comprendre comment 
l'arborescence est construite � partir du document XML. Le bout de feuille 
de style plus haut devrait t'aider. Il faut ensuite comprendre la notion de 
noeud (facile, quand on a compris l'arborescence) et de liste de noeuds 
(node-set). Enfin, comprendre ce que fait chaque �l�ment XSLT par rapport � 
ces noeuds et listes de noeuds.
<xsl:apply-templates/> (sans attribut select) prend tous les fils du noeud 
courant et les place dans une liste de noeuds. Pour chaque noeud de la 
liste il cherche un patron qui correspond et l'applique.
Dans le contexte de l'�l�ment p, apply-templates va faire une liste de 
noeuds contenant le texte "d�but du texte", l'�l�ment image et le texte 
"fin du texte". Pour "d�but du texte", il cherche un patron qui correspond 
aux noeuds de texte (match="text()") et s'il n'en trouve pas prend le 
patron par d�faut (qui se contente de recopier le texte). Il passe ensuite 
� l'�l�ment image et cherche un patron adapt� (match="image" ou match="*" 
ou encore match="node()", entre autres). Prenons la feuille de style que 
j'ai donn� ci-dessus. Dedans on trouve du texte, qui sera copi� 
directement, puis un apply-templates. Le processeur XSLT enregistre dans un 
coin la liste de noeud courante et traite l'instruction apply-templates. Il 
s�lectionnera donc le seul noeud de texte, cherche le patron et l'applique. 
Il revient ensuite dans le patron pour le noeud image et reprend la liste 
de noeuds l� o� il l'avait laiss�. Nouveau texte, on copie. On continue 
avec le noeud suivant l'�l�ment image, le texte "fin du texte". Tu connais 
la suite...

Tom.
Technical Details
Message-ID: <AdPp6.5$5B2.85076@nnrp3.proxad.net>
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-03!supernews.com!freenix!fr.usenet-edu.net!usenet-edu.net!proxad.net!feeder2.proxad.net!nnrp3.proxad.net.POSTED!not-for-mail
References: <OmMp6.984$pN7.3298357@nnrp3.proxad.net> <20010308115623.19797.00000259@ng-bg1.aol.com>

Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII
X-Google-Thread: 114f60,a67bed23f4e431cd
X-Google-Attributes: gid114f60,public
X-Google-ArrivalTime: 2001-03-08 09:24:06 PST
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-03!supernews.com!freenix!fr.usenet-edu.net!usenet-edu.net!proxad.net!feeder2.proxad.net!nnrp3.proxad.net.POSTED!not-for-mail
From: Tom. <ptittom+news@free.fr>
Subject: Re: (XSL) voici un petit problème de d'affichage de texte ....
Newsgroups: fr.comp.text.xml
References: <OmMp6.984$pN7.3298357@nnrp3.proxad.net> <20010308115623.19797.00000259@ng-bg1.aol.com>
Lines: 71
Organization: -
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8Bit
Message-ID: <AdPp6.5$5B2.85076@nnrp3.proxad.net>
Date: Thu, 08 Mar 2001 17:22:40 GMT
NNTP-Posting-Host: 193.252.183.30
X-Complaints-To: abuse@proxad.net
X-Trace: nnrp3.proxad.net 984072160 193.252.183.30 (Thu, 08 Mar 2001 18:22:40 CET)
NNTP-Posting-Date: Thu, 08 Mar 2001 18:22:40 CET