Announcement

Collapse
No announcement yet.

Variable in <xsl:choose>

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

  • Variable in <xsl:choose>

    Hallo,

    ich möchte gern eine Variable in einer choose-Schleife erstellen:

    Code:
      <xsl:choose>
        <xsl:when test="$check=1">1</xsl:when>
        <xsl:when test="$check=2">2</xsl:when>
        <xsl:when test="$check=3">3</xsl:when>
        <xsl:when test="$check=4">
    	<xsl:variable name="test" select="HUHU" />
        </xsl:when>
      </xsl:choose>
        
      <xsl:value-of select="concat($test)"/>
    aber die Fehlermeldung sagt mir "No result" bei in der Zeile wo ich $test ausgebe. (check ist 4)



    Kann mir da jemand helfen

  • #2
    Hier gibt es mehrere Probleme:

    1. Meinst Du den String 'HUHU' oder das Element HUHU?
    2. Die Variable kann nicht außerhalb ihres Deklarationsraumes verwendet werden (also nur im xsl:when-Kontext).
    3. Die Funktion concat() erwartet mindestens zwei Argumente.

    Beschreibe mal das eigentliche Problem genauer, vielleicht gibt es eine andere Lösung.

    Funktionieren würde es in dieser Form:
    Code:
    <xsl:variable name="check" select="4"/>
    <xsl:variable name="test">
      <xsl:choose>
        <xsl:when test="$check=1">1</xsl:when>
        <xsl:when test="$check=2">2</xsl:when>
        <xsl:when test="$check=3">3</xsl:when>
        <xsl:when test="$check=4">
          <xsl:text>HUHU</xsl:text>
        </xsl:when>
      </xsl:choose>
    </xsl:variable>
    
    <xsl:value-of select="$test"/><!-- HUHU -->
    Zuletzt editiert von Thomas Meinike; 22.07.2008, 16:31.

    Comment


    • #3
      vielen Dank für deine Hilfe.

      Mir war nicht bewusst, dass man Variablen nicht außerhalb des when-Kontextes benutzen darf.
      Ich wollte quasi in der when-Abfrage eine Variable belegen und mit dieser weiterarbeiten

      Comment

      Working...
      X