Makus B.: Eine Variable die sich immer um 3 erhöht

ALso Ich würd gerne eine variable haben die immer +3 geht sobald die "schliefe" da ist. und die Variable will ich dann zu eine zahl addieren!

Hier kurzer ausschnit:

<xsl:call-template name="plot-line">
            <xsl:with-param name="y1" select="value"/>
            <xsl:with-param name="y2" select="value2"/>
        </xsl:call-template>
    </xsl:template>
    <xsl:template name="plot-line">
        <xsl:param name="y1"/>
        <xsl:param name="y2"/>

--> Hier wiill ich den zähler haben der immer +3 geht
Aber als Ausgabe kriege ich immer NAN%

<xsl:variable name="Zaehlen" select="@Zaehlen + +3"/>
        <rect x="{13.5+@Zaehlen}%" y="{40-$y1*5}%" width="3%" height="{$y1*5}%" class="Fill-B"/>

<rect x="16.5%" y="{40-$y2*5}%" width="3%" height="{$y2*5}%" class="Fill-O"/>
        <g class="Zahl-oben">
            <text x="14.5%" y="{39.5-$y1*5}%">
                <xsl:value-of select="value"/>
            </text>
            <text x="17.5%" y="{39.5-$y2*5}%">
                <xsl:value-of select="value2"/>
            </text>
        </g>
    </xsl:template>
</xsl:stylesheet>

Danke Markus

  1. Hallo Markus,

    ALso Ich würd gerne eine variable haben die immer +3 geht sobald die "schliefe" da ist. und die Variable will ich dann zu eine zahl addieren!

    Hier kurzer ausschnit:

    »»   <xsl:call-template name="plot-line">  
    
    >             <xsl:with-param name="y1" select="value"/>  
    >             <xsl:with-param name="y2" select="value2"/>  
    >         </xsl:call-template>
    
    

    Wenn es die XML-Struktur zulässt, könnte hier die aktuelle Position übergeben werden:

    <xsl:with-param name="zaehler" select="3 * position()"/>
    oder
                   <xsl:with-param name="zaehler" select="3 * (position() - 1)"/>

    und dann mit $zaehler im aufgerufenen Template arbeiten.

    Grüße,
    Thomas

    1. ALso so wenn ich das richtig verstanden hab ist immer noch NAN%

      <xsl:call-template name="plot-line">
                  <xsl:with-param name="y1" select="value"/>
                  <xsl:with-param name="y2" select="value2"/>

      <xsl:with-param name="zaehler" select="3 * position()"/>
              </xsl:call-template>

      </xsl:template>
          <xsl:template name="plot-line">
              <xsl:param name="y1"/>
              <xsl:param name="y2"/>

      <xsl:variable name="zaehler"></xsl:variable>
              <rect x="{13.5+$zaehler}%" y="{40-$y1*5}%" width="3%" height="{$y1*5}%" class="Fill-B"/>

      1. Hallo Markus,

        ALso so wenn ich das richtig verstanden hab ist immer noch NAN%
        ...

        »»     <xsl:template name="plot-line">  
        
        >         <xsl:param name="y1"/>  
        >         <xsl:param name="y2"/>  
        >   
        >         <xsl:variable name="zaehler"></xsl:variable>  
        
                   ^^^  
                   es wird ein Parameter übergeben, also:  
          
                   <xsl:param name="zaehler"/>  
          
        
        >         <rect x="{13.5+$zaehler}%" y="{40-$y1*5}%" width="3%" height="{$y1*5}%" class="Fill-B"/>
        
        

        Grüße,
        Thomas

        1. Danke, hat sehr gut funktioniert