Avatar billede madsmm Nybegynder
18. februar 2002 - 17:15 Der er 7 kommentarer og
1 løsning

gruppering i en for-each

Hejsa,

jeg har en resultatoversigt, hvor hvert resultat har en kode for hvor i turneringen det er.

f.eks.

<kamp code="1" ..../>
<kamp code="2" ..../>
<kamp code="2" ..../>
<kamp code="3" ..../>
<kamp code="3" ..../>
<kamp code="3" ..../>
<kamp code="3" ..../>

hvor 1 er finale, 2 er semi og 3 er kvart osv.

jeg skal så teste om det er den første forekomst af en code og derved lave en overskrift

men når jeg løber det igennem og smider code i thisCode og code i prevCode (tilsidst) for derefter at sammenligne prevCode med thisCode for at se om en ny code er hevet ud, så er prevCode nulstillet...

håber det er til at forstå hvad mit problem er

pft.

Mads
www.startout.dk
Avatar billede Slettet bruger
19. februar 2002 - 01:01 #1
Denne template udskriver alle kampe der IKKE har en tidligere "sibling" (element i "parent") med samme code som den nuværende. - Umuligt at forklare med ord - prøv det...

<xsl:template match="kamp">
    <xsl:if test="not(preceding-sibling::kamp[@code = current()/@code])">
        kamp nr. <xsl:value-of select="@code" /><br/>
    </xsl:if>
</xsl:template>

/CS
Avatar billede madsmm Nybegynder
20. februar 2002 - 11:33 #2
Jeg går så ud fra det skal være noget i denne stil for at opnå det jeg skal bruge... jeg har dog lidt problemer med at få det til at virke... som det ser ud her, udskriver den runde X for hver <kamp> og det holder jo ikke helt!

<xsl:if test="not(preceding-sibling::kamp[@code = current()/@code])">
<tr><td id="rCell2" colspan="5" bgcolor="#dddddd" align="center"><b>Runde <xsl:value-of select="@code"/></b></td></tr>
</xsl:if>
Avatar billede Slettet bruger
20. februar 2002 - 13:21 #3
Hvad matcher den template du har udenom din kodestump?

/CS
Avatar billede madsmm Nybegynder
20. februar 2002 - 13:26 #4
<xsl:apply-templates select="s_game">
  <xsl:sort select="@tid" order="ascending" data-type="number"/>
  <xsl:sort select="@code" order="ascending" data-type="number"/>
</xsl:apply-templates>       
   
   
<xsl:template match="s_game">
  <xsl:if test="not(preceding-sibling::kamp[@code = current()/@code])">
  <tr><td id="rCell2" colspan="5" bgcolor="#dddddd" align="center"><b>Runde <xsl:value-of select="@code"/></b></td></tr>
  </xsl:if>
<tr bgcolor="#eeeeee">
<td id="rCell2" width="103"><xsl:value-of select="@dato"/></td>
<td id="rCell2" width="100" align="right"><xsl:value-of select="@hteam"/></td>
<td id="rCell2" width="20" align="center">-</td>
<td id="rCell2" width="100"><xsl:value-of select="@ateam"/></td>
<td id="rCell2" align="center"><xsl:value-of select="@hscore"/>-<xsl:value-of select="@ascore"/></td>
</tr>
</xsl:template>
Avatar billede madsmm Nybegynder
20. februar 2002 - 13:27 #5
hehe hjælp til selvhjælp.... der fandt jeg fejlen...
Avatar billede Slettet bruger
20. februar 2002 - 13:35 #6
Aha - ser du, du skal have en template der matcher "kamp" (som den jeg lavede). Dér hvor kampene skal udskrives kalder du så bare <apply-templates> for "kamp" - men det kræver at "kamp" elementerne ligger inde i "s_game"...

Prøv:

<xsl:template match="kamp">
<xsl:if test="not(preceding-sibling::kamp[@code = current()/@code])">
  <tr><td id="rCell2" colspan="5" bgcolor="#dddddd" align="center"><b>Runde <xsl:value-of select="@code"/></b></td></tr>
  </xsl:if>

</xsl:template>

<xsl:template match="s_game">
  <xsl:apply-templates select="kamp" />
<tr bgcolor="#eeeeee">
<td id="rCell2" width="103"><xsl:value-of select="@dato"/></td>
<td id="rCell2" width="100" align="right"><xsl:value-of select="@hteam"/></td>
<td id="rCell2" width="20" align="center">-</td>
<td id="rCell2" width="100"><xsl:value-of select="@ateam"/></td>
<td id="rCell2" align="center"><xsl:value-of select="@hscore"/>-<xsl:value-of select="@ascore"/></td>
</tr>
</xsl:template>
Avatar billede Slettet bruger
20. februar 2002 - 13:36 #7
hehe - OK tak...

/CS
Avatar billede madsmm Nybegynder
20. februar 2002 - 14:04 #8
det lader desværre til at parse'ing tager 2-3 sekunder.... og det er ikke acceptabelt... så det lader til jeg skal lave en anden struktur i det xml-dokument jeg har genereret!

/Mads www.startout.dk
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
Kategori
Kurser inden for grundlæggende programmering

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