Bonjour,

Je vais essayé de faire simple:

admettons la structure suivante:


 <AVel TitNr="24." fldID="254" fmt="LISTE">
    <Title>Firmaunterschriften</Title>
    <Liste>
      <Line>blablablablablablabla...</Line>
      <Line>blabla...</Line> //Line ne nous intéresse pas pour ce problème
      <St1>Fancelli, Alessandro</St1>
      <St2>Braxator, Helena</St2>
      <St3>Braxator, Irena</St3>
      <St1>Braxator, Timoteus Jan</St1>
      <St2>Baumann, Christian</St2>
      <St3>Stern, Michael</St3>
      <St1>Ospel, Marcel</St1>
       ... 
    </Liste>
  </AVel>


... = suite de St1, St2, St3 indéfini! petite précision sa peut s'arrêter à St1, St2 ou St3. Mais toujours dans l'ordre St1,St2,St3

j'aimerais une sortie dans un tableau type:


----------------------------------------------------------------------
|.....................|.......................|......................|
|St1                  |St2                    |St3                   |
----------------------------------------------------------------------
|.....................|.......................|......................|
|St1                  |St2                    |St3                   |
----------------------------------------------------------------------
|.....................|                        |                    |
|St1                  |                        |                    |
----------------------------------------------------------------------


le petit point sont un souligner que j'aimerais faire apparaitre seuleument quand St1, St2 ou St3 existe!

Comment procéder dans mon XSLT? Je n'en aie pas la moindre idée!

Si vous pouviez me donnez quelques pistes pour accomplir cette tache se serait génial! Je ne veux pas forcément une réponse toute faite (quoique si vous vous en sentez l'âme, pourquoi pas) !

Merci d'avance pour votre aide!

++

Thierry
Modifié par virgul (19 Jan 2006 - 09:26)
Ok j'ai trouvé une solution!

Pouvez-vous me dire si elle bien (optimale) ou si ca mérite retouche?


...
<xsl:when test="Liste">
<xsl:apply-templates select="Liste/Line"/>
<xsl:if test="Liste/St1">
<w:tbl>
<w:tblPr>
	<w:tblW w:w="8542" w:type="dxa"/>	
</w:tblPr>
<w:tblGrid>
<w:gridCol w:w="2900"/>
<w:gridCol w:w="2810"/>
<w:gridCol w:w="2840"/>
</w:tblGrid>
<xsl:apply-templates select="Liste/St1"/>
</w:tbl>
</xsl:if>
</xsl:when>
...
	
<xsl:variable name="position"/>

<xsl:template match="Liste/St1">
<xsl:variable name="position"><xsl:value-of select="position()"/></xsl:variable>
<w:tr>
<w:trPr>	
<w:trHeight w:val="1288"/>
</w:trPr>
<w:tc>	
<w:p>	
<xsl:if test="@ppa">	
<w:r>
<w:t>ppa</w:t>
</w:r>
<w:br/>
</xsl:if>
<w:r>
<w:t>.............................................</w:t>
</w:r>
<w:br/>
<w:r>
<w:t><xsl:value-of select="."/></w:t>
</w:r>
</w:p>	
</w:tc>
<w:tc>
<w:p>
<xsl:if test="../St2[position()= $position]">
<xsl:if test="../St2[position()= $position]/@ppa">
<w:r>
<w:t>ppa</w:t>
</w:r>
<w:br/></xsl:if>
<w:r>
<w:t>.............................................</w:t>
</w:r>
<w:br/>
<w:r>
<w:t><xsl:value-of select="../St2[position()= $position]"/></w:t>
</w:r></xsl:if>
</w:p>	
</w:tc>
<w:tc>
<w:p>
<xsl:if test="../St3[position()= $position]">
<xsl:if test="../St3[position()= $position]/@ppa">
<w:r>
<w:t>ppa</w:t>
</w:r>
<w:br/></xsl:if>
<w:r>
<w:t>.............................................</w:t>
</w:r>
<w:br/>
<w:r>
<w:t><xsl:value-of select="../St3[position()= $position]"/></w:t>
</w:r></xsl:if>
</w:p>	
</w:tc>
</w:tr>
</xsl:template>


Petite précision ne tenez pas compte du préfix w: il s'agit des préfix de WordML!

Merci beaucoup

Thierry
Bonjour,

Merci pour vos réponses!

SirWam a écrit :
Ou alors c'est peut être parceque ton message est un peu incompréhensible !


Je sais pas comment je pourrais être plus claire?

Qu'es que vous ne comprenez pas?

Je récapitule:

une tableau de 3 colonnes

un élément Liste avec a l'intérieur une séquence répétitive de St1, St2, St3 (qui n'est pas forcément complète)

dans chaque colonne mettre:
St1 dans la première, St2 dans la deuxième, St3 dans la troisième.

et mettre une ligne de petit point au dessus de chaque s'il contienne (St1, St2 ou St3) quelque chose (un suite de charactère)!

Laurent Denis a écrit :
Bonjour,

Juste un peu confidentiel et très spécifique à un projet précis


Si tu fais référence à Ospel Smiley lol ! T'en fais pas c'est mon pote (non je déconne) Smiley biggol


Alors une suggestions ou pas pour mon code?

++

Thierry

P.S. Je travail pour une société qui fait les programmes du registre suisse de commerce