Article View: fr.comp.text.xml
Article #9589Re: (XSL) voici un petit problème de d'affichage de texte ....
From: Tom.
Date: Thu, 08 Mar 2001 17:22
Date: Thu, 08 Mar 2001 17:22
71 lines
3957 bytes
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-mailReferences:
<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