Une Bévue
unread,Feb 13, 2012, 12:12:12 PM2/13/12You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
ma feuille xsl sort sur trois colonnes les noms de personnes (et tél,
adresse etc) contenus dans mon carnet d'adresse et je pratique un
xsl:sor.
extrait de ma feuille :
<xsl:if test="($mode = 'group')">
<div id="un">
<xsl:apply-templates select="people/person[@group=$group]"
mode="group_trois">
<xsl:sort select="name/text()" lang="{$lang}" data-type="text"
order="ascending" case-order="upper-first"/>
<xsl:with-param name="col" select="1"/>
<xsl:with-param name="col_parite" select="1"/>
</xsl:apply-templates>
</div>
<div id="zero">
<xsl:apply-templates select="people/person[@group=$group]"
mode="group_trois">
<xsl:sort select="name/text()" lang="{$lang}" data-type="text"
order="ascending" case-order="upper-first"/>
<xsl:with-param name="col" select="0"/>
<xsl:with-param name="col_parite" select="1"/>
</xsl:apply-templates>
</div>
<div id="deux">
<xsl:apply-templates select="people/person[@group=$group]"
mode="group_trois">
<xsl:sort select="name/text()" lang="{$lang}" data-type="text"
order="ascending" case-order="upper-first"/>
<xsl:with-param name="col" select="2"/>
<xsl:with-param name="col_parite" select="0"/>
</xsl:apply-templates>
</div>
</xsl:if>
et le template appellé :
<xsl:template match="people/person" mode="company_trois">
<xsl:param name="col"/>
<xsl:param name="col_parite"/>
<xsl:variable name="rang" select="position()"/>
<xsl:if test="$rang mod 3 = $col">
<xsl:if test="($rang mod 2 = $col_parite)">
<div class="pair">
<xsl:apply-templates select="name"/>
</div>
</xsl:if>
<xsl:if test="not($rang mod 2 = $col_parite)">
<div class="impair">
<xsl:apply-templates select="name"/>
</div>
</xsl:if>
</xsl:if>
</xsl:template>
l'ordre obtenu est vertical :
[ A ][ M ][ V ]
[ B ][ N ][ W ]
...
[ L ][ U ][ Z ]
je préférerais un ordre "horizontal", qui me semble plus "user friendly"
: :
[ A ][ B ][ C ]
[ D ][ E ][ F ]
...
[ X ][ Y ][ Z ]
mais je ne vois pas comment faire compte-tenu de mes trois colonnes...
--
« On devrait fonder une chaire pour l'enseignement de la lecture
entre les lignes. »
(Léon Bloy)