🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Pb d'affichage de donn�es d'un document xml

#8441
From: Alain Ketterlin
Date: Wed, 17 Oct 2001 09:59
58 lines
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() &gt; 1">
        <xsl:text>, </xsl:text>
      </xsl:when>
      <xsl:when test="position()=last()">
        <xsl:text>&amp;</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-mail
References: <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"