pet: variable übergeben bzw. rekursion mit hochzählen

hallo zusammen,
ich schätze mein problem ist ein klassiker, aber ich habe bisher kein beispiel gefunden,

dass genau das macht was ich brauche... vielleicht könnt ihr mir weiterhelfen? also ich

möchte eine xml datei rekursiv durchlaufen und eine globale variable in der xsl datei mit

jeder rekursionsstufe eins hochzählen. dazu habe ich versucht die variable jeweils beim

<call-template> aufruf zu übergeben. aber scheinbar sie im aufgerufenen template dann

nicht sichtbar. wo liegt mein denkfehler? danke schonmal!

das ist meine xsl datei:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes"/>

<xsl:template match="rootelement">

<!--<global variable> -->
<xsl:param name="level" select="0"/>

<X3D profile="Immersive" xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance"

xsd:noNamespaceSchemaLocation="http://www.web3d.org/specifications/x3d-3.0.xsd"

version="3.0">
 <Scene>
 <!--Rootelement-->
  <Transform>
   <Shape>
    <Text string='{$level}'/>
   </Shape>
  </Transform>
  <!--<Children> -->
   <xsl:call-template name="printChildren">
     <xsl:with-param name="level" select="$level +1" />
   </xsl:call-template>
 </Scene>
 </X3D>
 </xsl:template>

<xsl:template name="printChildren">
 <xsl:for-each select="child::*">
  <Transform>
   <Shape>
    <Text string='{$level}'/>
   </Shape>
  </Transform>
     <xsl:call-template name="printChildren">
   <xsl:with-param name="level" select="$level +1" />
           </xsl:call-template>
  </xsl:for-each>
 </xsl:template>
</xsl:stylesheet>

  1. Hallo,

    dass genau das macht was ich brauche... vielleicht könnt ihr mir weiterhelfen? also ich
    jeder rekursionsstufe eins hochzählen. dazu habe ich versucht die variable jeweils beim
    <call-template> aufruf zu übergeben. aber scheinbar sie im aufgerufenen template dann nicht sichtbar. wo liegt mein denkfehler? danke schonmal!

    Du hast es fast geschafft, es fehlt dir nur eine Kleinigkeit.
    Schau dir diesen Beitrag an: http://forum.de.selfhtml.org/archiv/2003/1/t33710/#m183373

    Danach sollte es klappen, falls nicht: hier nochmal rückfragen.

    Grüße
    Thomas

    1. jau, so funktioniert es! vielen dank! pet