Article View: fr.comp.text.xml
Article #8441Re: Pb d'affichage de donn�es d'un document xml
From: Alain Ketterlin
Date: Wed, 17 Oct 2001 09:59
Date: Wed, 17 Oct 2001 09:59
58 lines
2752 bytes
2752 bytes
"Fr�d�ric Facca" <frederic.facca@rii-diffusion.fr> writes:
> Je viens donc de remplacer le bout de code dans mon fichier biblio.xsl par
> le tien, mais h�las celui-ci ne r�soud pas encore mon probl�me.
> En effet, je n'obtiens qu'un seul et unique titre pour mon dernier livre,
> alors que dans sa d�claration dans le fichier bilio.xml il en a deux.
Bon. Alors :
> > <xsl:template match="livre">
> > <xsl:value-of select="titre"/>
> > <xsl:value-of select="auteur"/>
> > <p/> <!-- ?!? -->
> > </xsl:template>
Peut devenir soit
<xsl:template match="livre">
<xsl:apply-templates select="titre"/>
<xsl:value-of select="auteur"/>
</xsl:template>
<xsl:template match="titre">
<xsl:value-of select="."/>
</xsl:template>
soit, a grands coups de for-each :
<xsl:template match="livre">
<xsl:for-each select="titre">
<xsl:value-of select="."/>
</xsl:for-each>
<xsl:value-of select="auteur"/>
</xsl:template>
(Au fait, il ne peut pas y avoir plusieurs auteurs ?)
En general, j'utilise <xsl:apply-templates> quand le traitement est
le meme pour tous les elements, et <xsl:for-each> si il peut y avoir
des variantes, par exemple s'il ya plusieurs auteurs :
<xsl:for-each select="auteur">
<xsl:choose>
<xsl:when test="position() > 1">
<xsl:text>, </xsl:text>
</xsl:when>
<xsl:when test="position()=last()">
<xsl:text>&</xsl:text>
</xsl:when>
<xsl:otherwise/>
</xsl:choose>
<xsl:value-of select="."/>
</xsl:for-each>
Et je pense qu'il vaut mieux avoir un template (ou plusieurs avec
mode) pour chaque element. C'est un peu lourdingue, mais jusqu'a
present ca c'est toujours avere la meilleure solution pour moi.
-- Alain.
Technical Details
Message-ID:
<wyelo2y4cb.fsf@polya.u-strasbg.fr>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!ciril.fr!news.u-strasbg.fr!not-for-mailReferences:
<9qhcgs$cff$1@s1.read.news.oleane.net> <wyk7xuy9l5.fsf@polya.u-strasbg.fr> <9qjls4$bm4$1@s1.read.news.oleane.net>Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII X-Google-Thread: 114f60,bd382e007e304ad8 X-Google-Attributes: gid114f60,public X-Google-ArrivalTime: 2001-10-17 03:47:47 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!ciril.fr!news.u-strasbg.fr!not-for-mail From: Alain Ketterlin <alain@dpt-info.u-strasbg.fr> Newsgroups: fr.comp.text.xml Subject: Re: Pb d'affichage de donn�es d'un document xml Date: 17 Oct 2001 11:59:32 +0200 Organization: CRC - Universite Louis Pasteur Strasbourg France Lines: 58 Message-ID: <wyelo2y4cb.fsf@polya.u-strasbg.fr> References: <9qhcgs$cff$1@s1.read.news.oleane.net> <wyk7xuy9l5.fsf@polya.u-strasbg.fr> <9qjls4$bm4$1@s1.read.news.oleane.net> NNTP-Posting-Host: polya.u-strasbg.fr X-Trace: news.u-strasbg.fr 1003320463 2579 130.79.44.199 (17 Oct 2001 12:07:43 GMT) X-Complaints-To: usenet@u-strasbg.fr NNTP-Posting-Date: 17 Oct 2001 12:07:43 GMT X-Newsreader: Gnus v5.6.45/XEmacs 21.1 - "Capitol Reef"