Martin K.: Variable übeschreiben?

Hallo,

ich weiß das man in XSLT keine Variablen überschreiben darf, was für Möglichkeiten habe ich sonst?
Mit for each gehe ich spezielle Knoten durch. Und rufe für jeden Knoten ein Template auf, mit der position des Knotens.

<xsl:for-each select="//trans[@DocType = 'la']">

<xsl:call-template name="Entsorgungsnachweis">
  <xsl:with-param name="a" select="position()" />
 </xsl:call-template>

jeder von den "for-each" - Knoten hat ein Nummer die ist benötige, deswegen speicher ich sie in einer Variablen. Weil diese Nummer aber von der position abhängt habe ich ein Problem, da ich die Variable nicht überschreiben darf. Wäre für hilfe dankbar.

<xsl:template name="Entsorgungsnachweis">
<xsl:param name="a" />

<xsl:variable name="doc_nummer" select="//trans[@DocType = 'la']/element[@Id='la'][position()=$a]"/>

<xsl:if test="//trans[@DocType = 'la']/element[@Id='la'] = $doc_nummer" >

<Deckblatt>
<xsl:call-template name="Deckblatt"/>
</Deckblatt>
</xsl:if>

danke

  1. Hallo,

    ich weiß das man in XSLT keine Variablen überschreiben darf, was für Möglichkeiten habe ich sonst?

    call-template oder apply-templates mit Parameter aufzurufen.
    ansonsten bin ich leider nicht ganz schlau aus deinem Beitrag geworden, was du  erreichen möchtest.

    Grüße
    Thomas