🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.text.xml
Article #254

xsl:sort et arrangement par colonnes

#254
From: Une Bévue
Date: Mon, 13 Feb 2012 17:12
74 lines
3835 bytes
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) 
Technical Details
Message-ID: <1kfezwu.1fi0r2p1d6wvggN%unbewusst.sein@fai.invalid>
Path: arc1-ca.pugleaf.net!wr5ni20759pbc.0!nntp.google.com!news1.google.com!eweka.nl!lightspeed.eweka.nl!194.109.133.84.MISMATCH!newsfeed.xs4all.nl!newsfeed5.news.xs4all.nl!xs4all!rt.uk.eu.org!proxad.net!feeder1-2.proxad.net!cleanfeed2-b.proxad.net!nnrp17-1.free.fr!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Thread: 114f60,e54a1a665aea2308,start
X-Google-NewGroupId: yes
X-Google-Attributes: gid8a75585569,domainid0,public,usenet
X-Google-Language: FRENCH,ASCII
Received: by 10.68.74.201 with SMTP id w9mr10257330pbv.0.1329153133670;
        Mon, 13 Feb 2012 09:12:13 -0800 (PST)
Path: arc1-ca.pugleaf.net!wr5ni20759pbc.0!nntp.google.com!news1.google.com!eweka.nl!lightspeed.eweka.nl!194.109.133.84.MISMATCH!newsfeed.xs4all.nl!newsfeed5.news.xs4all.nl!xs4all!rt.uk.eu.org!proxad.net!feeder1-2.proxad.net!cleanfeed2-b.proxad.net!nnrp17-1.free.fr!not-for-mail
Newsgroups: fr.comp.text.xml
Subject: xsl:sort et arrangement par colonnes
From: unbewusst.sein@fai.invalid (Une Bévue)
Date: Mon, 13 Feb 2012 18:12:12 +0100
Message-ID: <1kfezwu.1fi0r2p1d6wvggN%unbewusst.sein@fai.invalid>
MIME-Version: 1.0
Organization: Oedipe Roi
X-Face: &pPJZaj=yETTJi[(==kP&`'Q;P^*m-|g$gyxFPnI&&}+;Ul=lZ_p6pQS!\#x]
        U4[^EN"1.E)El1acOX,9T\P2).0&^\5Fg';UzeOPF5\Su)"]oXFO9e=Z*Z4!+/</>A!Z
        GQ"IgmAM7Z%1AC9=w*Z&0:->1#.}/|4:GT1KOLp7CQkIm-ZdRm2RrCbD}|X<[VFA?]gI
        DX68liFMy#}lH<Vi'pewlEDG\>]RIKyk#]pSaJTB_RA7EY%Js^>{o)v#DZS&k#zv|Nsj
        O/aWDf\hl1+iN<IKtS%a?A:\yu;Q{.]fD%ObQgY?{2szAy_U
User-Agent: MacSOUP/F-2.8.3 (Mac OS X version 10.7.3 (x86))
Lines: 74
NNTP-Posting-Date: 13 Feb 2012 18:12:13 MET
NNTP-Posting-Host: 82.226.217.239
X-Trace: 1329153133 news-2.free.fr 8254 82.226.217.239:50036
X-Complaints-To: abuse@proxad.net
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit