bubba: dynamischer Parameter in call-template

Beitrag lesen

hallo forum-user,

ich habe ein problem folgender art und habe leider im netz kein beispiel dazu gefunden:

nehmen wir eine tabelle an; eine Reihe sind verschiedene Firmen (Angabe: Name, Inhaber, Branche, Gründungsjahr etc.) Nun kann es passieren, dass es mehrere Inhaber gibt - die Tabellenreihe wird größer, da eine Zelle hinzukommt. damit die zellen dynamisch angesprochen werden können, definiere ich einen parameter col. problematisch ist jedoch, dass mehere Inhaber zu einer inhabergruppe zusammengefasst werden sollen.

das template matcht auf die tabelle:
<for-each select="reihe">
 darin dann eine choose-abfrage, ob ein oder mehrere inhaber drin stehen:
 xsl:choose
  <xsl:when test="Zellenanzahl=x">
   <xsl:call-template name="inhaber"/>
  </xsl:when>
  xsl:otherwise<!-- dann müssen es mehrere autoren sein -->
   <autorengruppe>
    <xsl:call-template name="inhaber"/>
  </xsl:otherwise>
 </xsl:choose>

nachfolgend werden die angaben wie branche, gründungsjahr etc. verarbeitet, wobei der pfad dynamisch angesprochen wird:...<xsl:value-of select="tabelle/zelle[$col+1]/..."/> - da sich ja der abstand zum inhaber proportional ändert, kann man das ja so schreiben.
</xsl:template>

im template name="inhaber" werden die inhaber verarbeitet durch eine choose-anweisung:

xsl:choose
 <xsl:when test="wenn du selbst autor bist">
  <inhaber>
   ...
  </inhaber>
   <xsl:call-template name="inhaber">
    <xsl:with-param name="col" select="$col+1"/>
   </xsl:call-template>
 </xsl:when>
 xsl:otherwise/
</xsl:template>

nun habe ich aber das problem, dass ich nicht weiß, wie ich dein parameter col, der sich ja in der call-template anweisung verändert hat, im eigentlich template wieder verwenden kann!? (deswegen hab ich auf <xsl:param bewusst erstmal verzichtet).
-- ich habe es so formuliert, da meine pfade sehr komplex sind und so sicher keiner auf anhieb verstanden hätte, was ich will. bei mir habe ich es ja soweit fertig, es geht nur um die übergabe des veränderten parameters --