01. februar 2005 - 15:14Der er
4 kommentarer og 1 løsning
Tælle elemter med bestemt værdi
JEg har et problem når jeg henter 2 xml-sæt og merger det til ét. Problemet er at jeg gerne vil tælle hvor mange af en hvis type der er i top 5. Jeg kan ikke gøre dette i databaserne da der er 2 DB'er.
De 2 xml-sæt ser således ud: <east> <name></name> <type></type> </east>
<west> <name></name> <type></type> </west>
Og noget xsl der ser sådan ud som kun tager de 5 først af de samlede east og west:
Jeg vil umiddelbart tro at din liste altid vil indholde alle det antal (op til 5) der er i /DOCUMENT/east, da der ikke er nogen form for sortering på dit for-each loop (den gennemløber sættene i den rækkefølge de er angivet i select-attributten).
Hvis nu du havde en sortering på så ville din merge givetvis medføre at elementerne blev blandet imellem hinanden...
Anyway! Jeg ville umiddelbart gribe optællingen an på en anden måde (da man ikke kan opdatere variable i XSLT), nemlig ved at tælle via rekursion! Det er lidt mere kompliceret (og det er ved at blive sent), men overvej lige om du kan finde ud af det selv, ellers skal jeg gerne bruge lidt tid på det imorgen aften - hvis du ellers kan vente så længe og der ikke er andre som har en bedre idé eller kan give dig et bud inden da. Sorry, men jeg skal snart op igen... :(
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.