From: Chewie Wookie (chewie.wookie@laposte.net)
Date: 20/11/2001 - 08:54
J'ai déja eu ce cas, il faut faire tes td à la main, comme grand-mémé
faisait la lessive ;))
je m'explique :
dans une tempalate qui matche b, tu teste si tu doit écrire une nouvelle
ligne :
<!-- si c'est le premier élement d'une ligne de n
élements de TD -->
<xsl:if test="boolean(number(position()) mod
$nbrelementsparligne)">
<!--ouverture de ta ligne -->
<xsl:value-of disable-output-escaping="yes"
select="'<tr>'"/>
</xsl:if>
tu traite chaque element comme un td
<td>truc</td>
fermeture de la ligne suivant la position + gestion du cas
de ligne incomplète
<xsl:choose>
<xsl:when test="not(boolean(number(position()) mod
$nbrelementsparligne))">
<xsl:value-of
disable-output-escaping="yes" select="'</tr>'"/>
</xsl:when>
<!-- si on affiche un monbre non complet
d'éléments et que c'est le dernier -->
<xsl:when test="boolean(number(position()) mod
$nbrelementsparligne) and boolean(position() = last())">
<!-- ici tu complète ta ligne / nombre de
cases restant à remplir -->
<td colspan="position()) mod
$nbrelementsparligne"></td> (avec un xsl:element)
<!-- fermeture de la ligne -->
<xsl:value-of
disable-output-escaping="yes"
select="'</tr>'"/>
</xsl:when>
</xsl:choose>
fin du template
voila, ca devrait bien t'aider je pense
At 18:30 19/11/2001 +0100, you wrote:
>ce que je veux faire :
>Un tableau html avec 4 éléments pas ligne. Jusque là aucun problème
>le petit tutoriel dispo sur xmlfr marche parfaitement.
>La seule variante est que l'ensemble de noeuds sur lequel je veux
>travailler est variable (dépendant d'un attribut)
>
>par exemple avec un xml
><a>
> <b p='o' n='1' />
> <b p='o' n='2' />
> <b p='n' n='3' />
> <b p='o' n='4' />
> <b p='o' n='5' />
> <b p='o' n='6' />
></a>
>
>je veux un tableau
>
>1 | 2 | 4 | 5
>6
>
>et non (beaucoup plus facile)
>1 | 2 | 4
>5 | 6
>
>Une solution consiste à faire une première passe pour fournir
>un xml ne contenant pas le 3eme élément, puis appliquer la feuille
>de style classique.
>Mais je pense qu'il existe une solution pure XSLT. Appliquer une
>première selection puis diriger la transformation pour constituer le
>tableau.
>(avec un call-template peut-etre, mais je m'emmelle les pinceaux
>avec les following-sibling et les variables).
>
>Merci pour les courageux qui voudront bien se pencher sur mon
>problème
>
>Cordialement,
>
>--
>Frédéric Laurent
>http://www.opikanoba.org
>
>--
>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
|