From: Pierre.De-Leusse@sanofi-synthelabo.com
Date: 21/08/2003 - 09:03
Bonjour,
J'ai des documents XML formatés de cette manière :
<presentation title="Le centre">
<abstract ico="enteteE.gif">Pwet</abstract>
<chap title="Titre 1" img="entete.gif">Chapitre 1
</chap>
<chap title="Titre 2" img="entete.gif">Chapitre 2
</chap>
<chap title="Titre 3">Chapitre 3
</chap>
<img src="centre.jpg"/>
<chap title="Titre 4">Chapitre 4
</chap>
</presentation>
L'ordre des n?uds peut changer, ou il ne peut y avoir qu'un seul type de
n?uds en dessous de <presentation>.
Je souhaiterais donc parcourir tous les n?uds d'un certain niveau en les
testant à chaque fois. (premier n?uds fils = abstract, deuxième n?uds fils
= chap, ...)
J'ai essayé ce type de démarche, malheureusement ça ne donne rien :
<xsl:for-each select="/child::presentation">
<xsl:choose>
<xsl:when test="chap">
<xsl:call-template name="foo"/>
</xsl:when>
<xsl:when test="img">
<xsl:call-template name="foo2"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="foo3"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
Mes templates ressemble à ça :
<xsl:template name="foo">
<p>
<table width="100%" cellpadding="3" border="0">
<tbody>
<tr>
<td align="left" style="text-indent:10px" width="100%" valign="
top" class="TitreCategory" colspan="2">
<xsl:value-of select="@title"/>
</td>
</tr>
<tr>
<xsl:call-template name="image"/>
<td width="100%" >
<p align="left">
<xsl:value-of select="."/>
</p>
</td>
</tr>
</tbody>
</table>
</p>
</xsl:template>
La solution doit être toute simple, mais là je cale.
merci d'avance,
pierre de Leusse
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|