Avatar billede morphix Nybegynder
22. februar 2002 - 13:37 Der er 2 kommentarer og
1 løsning

Nested for-each hvor den inderste accesser en værdi fra den yderste løkke

her er der lige et senarie
pseudo:
yderste løkke pløjer lige 'noget' igennem
    og skriver værdien ud
        inderste løkke pløjer 'noget andet' igennem
            og skriver værdien for 'nogetandet' men i
            denne løkke vil jeg også skrive værdien ud for 'noget'
        inderste løkke slut
yderste løkke slut



test kode:
test.xml
<noget>
  <vaerdi>1</vaerdi>
  <vaerdi>2</vaerdi>
  <vaerdi>3</vaerdi>
  <vaerdi>4</vaerdi>
</noget>
<nogetandet>
  <vaerdi>1</vaerdi>
  <vaerdi>2</vaerdi>
  <vaerdi>3</vaerdi>
  <vaerdi>4</vaerdi>
</nogetandet>

test.xsl
<xsl:for-each select="noget">
  <xsl:value-of select="noget/vaerdi" />
    <xsl:for-each select="nogetandet">
    <xsl:value-of select="nogetandet/vaerdi" />
        <xsl:value-of select="noget/vaerdi" />   
    </xsl:for-each>
</xsl:for-each>
Avatar billede js26 Nybegynder
22. februar 2002 - 13:53 #1
Du skal udføre "nogetandet" i en named template med en parameter hvor du overfører "noget" i.
Avatar billede morphix Nybegynder
22. februar 2002 - 14:27 #2
Er der ikke lige en der kan give mig et konkret eksempel hvor det virker?
Avatar billede Slettet bruger
23. februar 2002 - 22:53 #3
Prøv det her - det kan dog optimeres, hvis du viser det faktiske XML det skal virke på...

<xsl:for-each select="//noget">
  <xsl:value-of select="vaerdi" />
  <xsl:call-template name="skrivnogetandet">
      <xsl:with-param name="nogetvaerdi" select="vaerdi" />
  </xsl:call-template>
</xs:for-each>

<xsl:template name="skrivnogetandet">
  <xsl:param name="nogetvaerdi" />
  <xsl:for-each select="//nogetandet">
      <xsl:value-of select="vaerdi" />
        <xsl:value-of select="$nogetvaerdi" />   
    </xsl:for-each>
</xsl:template>

/CS
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