Announcement

Collapse
No announcement yet.

Variablen konditional setzen

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

  • Variablen konditional setzen

    hallo,
    ist es möglich, anhand bestimmter Bedingungen Variablen zu setzen,
    z.B.

    Code:
    <xsl:template name="line8CurVolume">
    	<xsl:param name="value"/>
    	<xsl:param name="initial"/>
    
    	<xsl:variable name="volume" select="'abc'"/>
    	<xsl:if test="$initial">
    		<xsl:variable name="volume" select="'def'"/>
    	</xsl:if>
    
    	<xsl:call-template name="line8">
    		<xsl:with-param select="$value" name="value"/>
    		<xsl:with-param select="$volume" name="value2"/>
    	</xsl:call-template>
    </xsl:template>
    ?

    mir scheint, dass die Variable nur im if-Block geändert wird und danach wieder zurückfällt,
    gibt es andere Mechanismen, um ein solches programmiersprachen-ähnliches Verhalten nachzubilden?

    ich möchte jedenfalls kein xsl:choose und darin zwei Aufrufe des Templates line8,
    denn es sind ein paar Parameter mehr zu übergeben und wenn ich auch noch mehrere Unterscheidungen haben, dann brauch ich 4, 8, 16 Aufrufe usw.



    ---------

    Links zu Tutorials/ freien Büchern, die solche interessanten Themen behandeln
    und nicht nur die reine Syntax aufzählen, sind auch gerne willkommen

  • #2
    Verwende die Abfrage+Zuweisung innerhalb von xsl:variable:

    Code:
    <xsl:variable name="volume">
      <xsl:choose>
        <xsl:when test="$initial"><xsl:text>def</xsl:text></xsl:when>
        <xsl:otherwise><xsl:text>abc</xsl:text></xsl:otherwise>
      </xsl:choose>
    </xsl:variable>

    Comment


    • #3
      ah, das klingt sinnvoll

      Comment

      Working...
      X