Avatar billede tmo Nybegynder
05. februar 2002 - 18:03 Der er 4 kommentarer og
1 løsning

count ??

Er det muligt at tælle hvor mange gange et tag findes i en xml fil fra xsl ? fx: i skal sættes til det antal forekomster af "test". Ligeledes skal i udskrives. Nedenstående eksempel er kun til illustration af problemet.

Sæt en var. med værdien 0: int i = 0;
<xsl:for-each select="test">
<b><xsl:value-of select="fornavn"/></b>
<b><xsl:value-of select="i"/></b>
tilskriv 1 til i: i++;
</xsl:for-each>

tmo
Avatar billede Slettet bruger
05. februar 2002 - 19:24 #1
Flg. udskriver antallet af "test" elementer i dokumentet.

<xsl:value-of select="count(//test)" />

Du kan også sætte en variabel, og skrive den ud:

<xsl:variable name="i" select="count(//test)" />
...
<xsl:value-of select="$i" />

/CS
Avatar billede tmo Nybegynder
05. februar 2002 - 20:25 #2
Hej greystate

Det funger fint, men den udskriver kun det samlede antal af "test" jeg ønsker 1,2,3 osv?

<xsl:for-each select="test">
<xsl:variable name="i" select='count(//test)' />
<A HREF="java script:iknoget();"onMouseOver="popUp('{$i}',event)"</A>
Avatar billede tmo Nybegynder
05. februar 2002 - 20:59 #3
har løst problemet med:
<b><xsl:number level="any" count="test" format="1"/></b>
Avatar billede Slettet bruger
05. februar 2002 - 22:51 #4
OK, der er også position() som du kunne overveje - den er ligetil i XML strukturer som den her:

<movies>
  <movie><title>Shrek</title></movie>
  <movie><title>Star Wars</title></movie>
  <movie><title>Dark Crystal</title></movie>
  ...
</movies>

- som kunne udskrives sådan:
<xsl:template match="movies">
  <xsl:for-each select="movie">
    <xsl:sort select="title" />
    <a href="movies.asp?id={position()}"><xsl:value-of select="title" /></a>
    <xsl:if test="not(position() = last())"> | </xsl:if>
  </xsl:for-each>
</xsl:template>

/CS
Avatar billede tmo Nybegynder
06. februar 2002 - 10:10 #5
Tak fof hjælpen.
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