Avatar billede dr_nielsen Nybegynder
02. december 2003 - 23:38 Der er 1 løsning

Rekursiv uden for-each

Skal lave en menu udskrevet som liste (<ul><li><a>)
Den skal skrives ud rekursivt, men fejler.

Problemet er at yderste <ul> lukkes for tidligt og det efterfølgende items udskrives derfor enten i en ny <ul> eller uden for <ul>

nogen Ideer


.:: XML ::.

<?xml version="1.0" encoding="utf-8"?>
  <item id="1" label="Forside" file="/content/test.xml">
  <item id="100" label="About" file="/content/test.xml">
  <item id="101" label="About" file="/content/test.xml" />
  <item id="102" label="About" file="/content/test.xml" />
  <item id="103" label="About" file="/content/test.xml" />
  </item>
  <item id="200" label="Other" file="/content/test.xml">
    <item id="201" label="OtherA" File="/test.xml" />
  </item>
  <item id="300" label="Contact" File="/test.xml" />
</item>
   

.:: XSL ::.

<xsl:template match="item[parent::item]">
  <ul>
    <li>
      <a href="/content.asp?id={@id}" id="menu_{@id}">
        <xsl:value-of select="@label"/>
      </a>
      <ul class="sub">
        <xsl:apply-templates/>
        </ul>
      </li>
  </ul>
</xsl:template>
   
   
<xsl:template match="item[not(child::item)]">
  <li>
    <a href="content.asp?id={@id}">
      <xsl:value-of select="@label"/>
    </a>
    <xsl:apply-templates/>
  </li>
</xsl:template>
Avatar billede dr_nielsen Nybegynder
03. december 2003 - 00:50 #1
Fixed
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