Announcement

Collapse
No announcement yet.

Rekursive Nummerierung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Rekursive Nummerierung

    hi!

    ich habe ein XML-File das folgendermaßen aufgebaut ist:

    HTML Code:
    <main num="0">
       <sub num="0">
          ...
       </sub>
       <sub num="1">
          <sub num="0">
             ...
            </sub>
            <sub num="1">
               .....
            </sub>
       </sub>
       <sub num="2">
          ...
       </sub>
    </main>
    also das heißt ich habe verschiedene Hauptgliederungspunkte (main) und darunter können Untergliederungspunkte (sub) sein. subs können beliebig viele weitere subs haben.

    wie kreig ich das hin dass ich folgende gliederung rausbekomme:

    0.
    0.0.
    0.1.
    0.1.0.
    0.1.1.
    0.2.

    Mein hauptproblem ist dass ich nicht weiß wieviele ebenen von subs es gibt. Ich vermute man muß sowas über rekursion machen?

  • #2
    Probiere es mit diesem Ansatz:

    Code:
    <xsl:template match="main">
      <xsl:value-of select="@num"/>
      <xsl:text>.</xsl:text>
      <br />
      <xsl:apply-templates select="sub"/>
    </xsl:template>
    
    
    <xsl:template match="sub">
      <xsl:value-of select="ancestor::main/@num"/>
      <xsl:text>.</xsl:text>
      <xsl:for-each select="ancestor-or-self::sub">
        <xsl:value-of select="@num"/>
        <xsl:text>.</xsl:text>
      </xsl:for-each>
      <br />
      <xsl:apply-templates select="sub"/> 
    </xsl:template>

    Comment


    • #3
      danke!
      damit hab ich es hinbekommen

      Comment

      Working...
      X