Bonjour, une façon de s'y prendre consiste à avoir une approche
déclarative, c'est à dire de dire ce que vous voulez :
Si on traduit votre xml en html, cela correspond à dire que pour chaque
entité, vous aurez une ligne et pour chaque élément dans entité, vous
aurez une colonne,
ce qui se traduit en XSLT par :
<xsl:template match="/">
<html>
<head/>
<body>
<xsl:apply-templates/>
</body>
</tr>
</xsl:template>
<xsl:template match="entite">
<tr>
<xsl:apply-templates/>
</tr>
</xsl:template>
<xsl:template match="entite/*">
<td>
<xsl:apply-templates/>
</td>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:templtate>
Votre tableau doit bien sûr avoir exactement la même structure.
Si vous voulez trier d'abord vos données sur le coût par exemple, vous
devez faire un for-each avec une instruction sort dedans.
Pour vos couleurs, vous pouvez :
* soit faire un test sur le nom du noeud
* soit intercepter explicitement chaque noeud
* soit pour chaque entite/*, donner une classe css avec une ligne du style :
<td class="{local-name()}"/>
ce qui vous donnera automatiquement class="cout_1", class="cout_2" selon
le nom du noeud où vous êtes.
JC
Gillot a écrit :
> Bonjour,
>
> j'ai un petit soucis technique : j'ai des données XML qui se présentent
> comme ça :
>
> <entite>
> <numero_entite>1</numero_entite>
> <cout_1>10</cout_1>
> <cout_2>20</cout_2>
> <cout_3>50</cout_3>
> </entite>
>
> etc... pour n entités, et je ne parvient pas à obtenir le xslt
> permettant de présenter ces données dans un html par colonnes, les couts
> étant classés du plus grand (en haut de la colonne) au plus petit, la
> couleur des cellules permettant de les différencier entre eux (rouge
> pour le cout_1, blanc pour le cout_2 et vert pour le cout_3 )
>
> comment devrais-je m'y prendre ?
>
> merci pour votre aide
>
>
>
>
>
> ___________________________________________________________________________
> Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger
> Téléchargez cette version sur http://fr.messenger.yahoo.com
>
> --
> 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)
>
--
Jean-Christophe Kermagoret
jck@BabelObjects.Com
--
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)
Received on Mon Jul 11 10:07:19 2005