Thread View: pl.comp.xml
6 messages
6 total messages
Started by TomDom
Tue, 11 Sep 2007 13:28
Sortowanie i grupowanie
Author: TomDom
Date: Tue, 11 Sep 2007 13:28
Date: Tue, 11 Sep 2007 13:28
49 lines
2353 bytes
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
Author: szomiz
Date: Tue, 11 Sep 2007 16:21
Date: Tue, 11 Sep 2007 16:21
28 lines
1638 bytes
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
Author: TomDom
Date: Tue, 11 Sep 2007 16:27
Date: Tue, 11 Sep 2007 16:27
4 lines
1370 bytes
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
Author: szomiz
Date: Wed, 12 Sep 2007 16:38
Date: Wed, 12 Sep 2007 16:38
11 lines
1416 bytes
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
Author: TomDom
Date: Fri, 14 Sep 2007 09:50
Date: Fri, 14 Sep 2007 09:50
11 lines
1657 bytes
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
Author: szomiz
Date: Fri, 14 Sep 2007 20:03
Date: Fri, 14 Sep 2007 20:03
3 lines
1222 bytes
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