15. juni 2005 - 12:51 Der er 8 kommentarer og
1 løsning

Group By i XSL

Jeg har et problem med gruppering via XSL.
Jeg laver udtrækket således:
content/subcontents/[$name='playTime'][@type='collection']/item/attributes/attribute[@name='location']='1'
Dvs. jeg får kun de ud hvor location=1
Herefter skal jeg loope igennem på ../attribute[@name='startDate']
Nu skulle jeg så vise: <xsl:value-of select="."/>
problemet er så at datoerne kan være ens, så jeg må gruppere resultatet således at en dato kun vises én gang.
Ved at gruppere resultatet kan jeg linke til en anden side hvor jeg lister alle spilletider på den valgte dato.

Så jeg vil gerne have en løsning hvor XSL kun putputter datoen én gang.



XML:

        <content id="30189" type="Movie">
            <attributes>
                <attribute name="title">Elitepædagogen</attribute>
                <attribute name="original">The Pacifier</attribute>
                <attribute name="premiere">2005-06-03</attribute>
                <attribute name="censur">7</attribute>
                <attribute name="runtime">96</attribute>
                <attribute name="teaser">Så er der dømt stroppetur!</attribute>
                <attribute name="synops">Vin Diesel slår sig på sutteflasken</attribute>
                <attribute name="cast">Lauren Graham, Vin Diesel</attribute>
                <attribute name="instruction">Adam Shankman</attribute>
                <attribute name="genre">Komedie, Teenagefilm</attribute>
                <attribute name="pictureCopyright">UIP</attribute>
                <attribute name="picture1">http://www.LarsLand.dk/www.LarsLand.dk/Picture.aspx?id=24948&amp;width=120&amp;height=170</attribute>
                <attribute name="picture2">http://www.LarsLand.dk/www.LarsLand.dk/Picture.aspx?id=24453</attribute>
                <attribute name="top10PosDkThis">3</attribute>
                <attribute name="top10PosUsThis"/>
                <attribute name="top10PosDkPrev"/>
                <attribute name="top10PosUsPrev"/>
                <attribute name="top10CountDk">1</attribute>
                <attribute name="top10CountUs">7</attribute>
            </attributes>
            <bodypart>
                <text>Navy Seal-soldaten Shane Wolfe mener selv, han er i stand til at trodse enhver udfordring og påtage sige enhver opgave, uanset hvor farlig eller umulig den måtte synes.Lige indtil han prøver at babysitte!
                Shane har fået til opgave at beskytte fem børn af en snigmyrdet forsker, der arbejde på et tophemmeligt regeringsprojekt.
                Han må til en vis grad udskifte hele arsenalet af våddragter og våben, til fordel for bleer og juicebrikker, når han skal jonglere med to vanskelige bolde: En børneflok med krudt i enden og en udspekuleret fjende, der vil børnene til livs.
                Selvom Shane er professionel elitesoldat, må han snart sande, at han ikke anede hvad tough virkelig betød, før han blev alenefar til fem!</text>
            </bodypart>
            <subcontents>
                <subcontent name="playTime" type="collection">
                    <item>
                        <attributes>
                            <attribute name="location">1</attribute>
                            <attribute name="startDate">2005-06-12</attribute>
                            <attribute name="startTime">12:00</attribute>
                        </attributes>
                    </item>
                    <item>
                        <attributes>
                            <attribute name="location">1</attribute>
                            <attribute name="startDate">2005-06-12</attribute>
                            <attribute name="startTime">14:15</attribute>
                        </attributes>
                    </item>
                    <item>
                        <attributes>
                            <attribute name="location">2</attribute>
                            <attribute name="startDate">2005-06-12</attribute>
                            <attribute name="startTime">16:30</attribute>
                        </attributes>
                    </item>
                    <item>
                        <attributes>
                            <attribute name="location">2</attribute>
                            <attribute name="startDate">2005-06-12</attribute>
                            <attribute name="startTime">18:45</attribute>
                        </attributes>
                    </item>
                </subcontent>
            </subcontents>
        </content>
Avatar billede atoft Nybegynder
15. juni 2005 - 13:03 #1
Prøv at kigge på disse eksempler. Jeg har desværre ikke tid til at sy et sammen til dig lige nu
15. juni 2005 - 13:05 #2
Eksempler, hvor ???
15. juni 2005 - 13:11 #3
Ved ikke om ordet GRUPPERING er det rigtige.
Nogle ville måske forstå det bedre hvis man skrev "DISTICT"
Dette er forkert:
2005-06-12
2005-06-12

Dette er korrekt:
2005-06-12


;)PnP
Avatar billede montago Praktikant
15. juni 2005 - 13:11 #4
ehm... spørgsmål... ville det ikke være nemmere i SQL med en database ?
15. juni 2005 - 13:18 #5
ehm...Svar... Nej. XML feedet bliver hentet fra ekster kilde.
Selvfølgelig er alt nemmere via SQL, men når xml er det eneste tilgængelig så må man bruge det...
15. juni 2005 - 16:14 #6
DAmn jeg kan ikke få den fukker til kun at vise en dato.
Lige nu eksperimenter jeg med preceding-sibling
Men uanset om den er true/false sender den det hele til output.

HJÆÆÆLP ;-)


;)PnP
15. juni 2005 - 22:27 #7
R der slet ikke nogen herinde som deler samme begejstring for XSL som mig ?

;-)L
15. juni 2005 - 22:31 #8
Der er gået et eller andet i ged her. JEg kan ikke afvise svaret fra atoft.

Til: Asmin. Slet denne tråd så opretter jeg den igen...
15. juni 2005 - 22:31 #9
jeg svarer selv og håber i sletter denne tråd. Så opretter jeg den på ny
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester