From: Tourpe, Herve (HTourpe@imf.org)
Date: 13/06/2001 - 13:54
Merci Vincent. J'avais en effet pensé à cette solution mais elle ne me
convient malheureusement pas. En effet, le code à afficher ne se limite pas
à de simples titres (comme le montrait mon exemple), mais à une centaine de
lignes XSL !!! Donc je ne voudrais pas répéter 2 fois ce code, c.à d. une
fois par colonne.
Quelqu'un voit-il la solution ?
Allez les gars , faites honneur aux francophones ! J'habite aux USA et mes
collègues américains qui prétendent connaître XML n'ont pas su m'aider ! ;o)
-----Original Message-----
From: Vincent [mailto:vincent.majer@medisite.net]
Sent: Wednesday, June 13, 2001 4:45 AM
To: xml-tech@xmlfr.org
Subject: [xml-tech] Re: : Ajout dynamique d'un tag fermant puis ouvrant
Bonjour,
Voici un exemple que j'ai realisé pour afficher la moitie des titres dans
la premiere colonne et la deuxieme partie dans la 2eme colonne..
le code n'est pas super optimise..mais ca marche. J'espere que cet exemple
te sera utile :
<table width="100%" border="0" cellpadding="2">
<tr>
<td width="50%">
<ul>
<xsl:for-each
select="dossier/chapitre/titre">
<xsl:variable
name="nbchapitre">
<xsl:value-of
select="position()"/>
</xsl:variable>
<xsl:if
test="position()≤(last() div 2)">
<li>
<a
href="#{$nbchapitre}">
<b>
<xsl:value-of
select="."/>
</b>
</a>
</li>
</xsl:if>
</xsl:for-each>
</ul>
</td>
<td width="50%">
<ul>
<xsl:for-each
select="dossier/chapitre/titre">
<xsl:variable
name="nbchapitre">
<xsl:value-of
select="position()"/>
</xsl:variable>
<xsl:if
test="position()>(last() div 2)">
<li>
<a
href="#{$nbchapitre}">
<b>
<xsl:value-of
select="."/>
</b>
</a>
</li>
</xsl:if>
</xsl:for-each>
</ul>
</td>
</tr>
</table>
Vincent Majer
>Bonjour,
>Voici mon problème, qui est certainement un cas d'école.
>Mon fichier XML est le suivant :
>---------------- FICHIER XML ----------------
><MesLivres>
> <Titre>Titre 1</Titre>
> <Titre>Titre 2</Titre>
> <Titre>Titre 3</Titre>
> <Titre>Titre 4</Titre>
> <Titre>Titre 5</Titre>
></MesLivres>
>
>Je veux que mon XSL affiche ces titres dans un table, en changeant de
>colonne à la moitié de la liste.
>En d'autres termes je voudrais que l'HTML généré soit :
>---------------- HTML ATTENDU ----------------
><TABLE><TR>
> <TD>
> Titre 1<BR>
> Titre 2<BR>
> Titre 3<BR>
> </TD> <!-- ATTENTION, c'est sur la génération de ces 2 tags que se
>situe le problème !-->
> <TD>
> Titre 4<BR>
> Titre 5<BR>
></TR></TABLE>
>
>---------------- XSL UTILISE ----------------
>Bêtement j'ai essayé quelque chose dans le genre :
>
><TABLE><TR><TD>
><xsl:for-each select="MesLivres/Titre>
> <!-- Affichage du titre -->
> <xsl:value-of select="."/>
> <!-- changement éventuel de colonne -->
> <xsl:if test='position() mod $intNbreDeTitresParColonne = 0'>
> </TD>
> <TD>
> </xsl:if>
></xsl:for-each>
></TD>
></TR>
></TABLE>
>
>---------------- LE PROBLEME !!! ----------------
>Le problème est évident : le tag </TD> conditionnel ne peut bien sûr pas
>suivre un tag <xsl:if...> !!!
>Certes... mais quelle est la solution à ce problème ?
>--
>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
--
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)
--
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
|