From: Eric van der Vlist (vdv@dyomedea.com)
Date: 17/01/2001 - 09:05
Bonjour
JA wrote:
>
> Comment dois je faire pour formater mon fichier xml en colonnes (2, ou 3,
> ou4)
C'est une bonne question qui permet de se frotter à plusieurs petits
pièges XSLT...
Il faut en effet définir un traitement particulier pour les premiers
éléments qui seront insérés dans chaque ligne pour qu'ils créent cette
ligne et déclenchent les templates correspondant aux différentes
colonnes.
En pratique:
<?xml version="1.0" encoding="UTF-8"?>
<elements>
<element>
<nom>NOM1</nom>
<prenom>Prenom1</prenom>
</element>
<element>
<nom>NOM2</nom>
<prenom>Prenom2</prenom>
</element>
<element>
<nom>NOM3</nom>
<prenom>Prenom3</prenom>
</element>
<element>
<nom>NOM4</nom>
<prenom>Prenom4</prenom>
</element>
<element>
<nom>NOM5</nom>
<prenom>Prenom5</prenom>
</element>
</elements>
+
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="1.0" encoding="ISO-8859-1"
indent="yes"/>
<xsl:template match="/">
<html>
<body>
<table>
<xsl:apply-templates select="elements/element" mode="premiers"/>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="element[(position() mod 2) = 1]" mode="premiers">
<tr>
<xsl:apply-templates select="."/>
<xsl:choose>
<xsl:when test="following-sibling::element[1]">
<xsl:apply-templates select="following-sibling::element[1]"/>
</xsl:when>
<xsl:otherwise>
<td> </td>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="following-sibling::element[1]"/>
</tr>
</xsl:template>
<xsl:template match="element" mode="premiers"/>
<xsl:template match="element">
<td>
<xsl:value-of select="nom"/>
<br/>
<xsl:value-of select="prenom"/>
</td>
</xsl:template>
</xsl:stylesheet>
=
<html>
<body>
<table>
<tr>
<td>NOM1<br>Prenom1</td><td>NOM2<br>Prenom2</td><td>NOM2<br>Prenom2</td>
</tr>
<tr>
<td>NOM3<br>Prenom3</td><td>NOM4<br>Prenom4</td><td>NOM4<br>Prenom4</td>
</tr>
<tr>
<td>NOM5<br>Prenom5</td><td> </td>
</tr>
</table>
</body>
</html>
Cordialement,
Eric van der Vlist
--
------------------------------------------------------------------------
Eric van der Vlist Dyomedea http://dyomedea.com
http://xmlfr.org http://4xt.org http://ducotede.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)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:05 UTC
webmaster@xmlfr.org
|