🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

6 total messages Started by TomDom Tue, 11 Sep 2007 13:28
Sortowanie i grupowanie
#9481
Author: TomDom
Date: Tue, 11 Sep 2007 13:28
49 lines
2353 bytes
Witam Szanownych Speców od XSLT
A ja mam następujący problem :-)
Chciałbym następujący xml:

<employees>
    <employee>
        <name>Xyz</name>
        <post>P1</name>
    </employee>
    <employee>
        <name>Abc</name>
        <post>P2</name>
    </employee>
    ...
</employees>

przekształcić do postaci:

<employees>
   <group no='1'>
       <employee>
           <name>Abc</name>
           <post>P2</name>
       </employee>
       ...
    </group>
   <group no='2'>
       <employee>
           <name>Xyz</name>
           <post>P1</name>
       </employee>
       ...
    </group>
   ...
</employees>

i żeby wszystkie elementy <employee> były posortowane (np. po <name> )
ale nie w ramach grupy tylko w całości. Oczywiście ilość elementów w
grupie określona byłaby przez jakąś zmienną (ale przyjmijmy 10, żeby
było czytelniej). I żeby atrybut 'no' elementu <group> był generowany
automatycznie jako kolejna grupa (mógłby to być jakiś element wewnątrz
elementu <group>.
Próbowałem już <xsl:for-each>, ale wtedy nie wiem jak uzyskać ten nr
kolejny grupy. Przez rekurencje udało mi się uzyskać sortowanie, ale
tylko w ramach grupy.
Czy da się to jakoś zrobić? Proszę o nakierowanie choćby na jakieś
rozwiązanie.
Pozdrawiam,
TD
Re: Sortowanie i grupowanie
#9482
Author: szomiz
Date: Tue, 11 Sep 2007 16:21
28 lines
1638 bytes
Użytkownik "TomDom" <tomasz.dom@gmail.com> napisał w wiadomości 
news:1189517311.580430.310750@22g2000hsm.googlegroups.com...

przekształcić do postaci:

<employees>
   <group no='1'>
       <employee>
           <name>Abc</name>
           <post>P2</name>
       </employee>
       ...
    </group>
   <group no='2'>
       <employee>
           <name>Xyz</name>
           <post>P1</name>
       </employee>
       ...
    </group>
   ...
</employees>

A co jest wyznacznikiem grupowania, bo z przykladu za cholere to nie wynika?

Generalnie grupuje sie przy pomocy xsl:key.

sz. 
Re: Sortowanie i grupowanie
#9483
Author: TomDom
Date: Tue, 11 Sep 2007 16:27
4 lines
1370 bytes
Może, źle się wyraziłem i nie jest to klasyczne grupowanie.
Chciałbym, aby w każdej grupie znalazła się z góry określona ilość
elementów <employee> np. 20
tom
Re: Sortowanie i grupowanie
#9484
Author: szomiz
Date: Wed, 12 Sep 2007 16:38
11 lines
1416 bytes
Użytkownik "TomDom" <tomasz.dom@gmail.com> napisał w wiadomości 
news:1189528024.734566.293550@d55g2000hsg.googlegroups.com...

> Może, źle się wyraziłem i nie jest to klasyczne grupowanie.
> Chciałbym, aby w każdej grupie znalazła się z góry określona ilość
> elementów <employee> np. 20

No to masz position()...

sz.
Re: Sortowanie i grupowanie
#9485
Author: TomDom
Date: Fri, 14 Sep 2007 09:50
11 lines
1657 bytes
>
> No to masz position()...
>
> sz.

No tak. I wykorzystywałem tę funkcję (position() mod 20 = 0) do
generowania tagów kolejnej grupy. A do określenia nr grupy mogę
przecież wykorzystać dzielenie bez reszty.
Jakieś moja pomroczność jasna :-)
Sorry za zawracanie głowy :-)
T.
Re: Sortowanie i grupowanie
#9486
Author: szomiz
Date: Fri, 14 Sep 2007 20:03
3 lines
1222 bytes
Pozka kod, bo cos mi mowi, ze zrobisz to w malo optyany sposob.

sz. 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads