Ben: xsl:when ?

Hallo,

ich möchte einen when Abfrage machen, wenn eine variable in so einem XML-file einen bestimmten wert hat dann soll eine bestimmte Ausgabe folgen ...

<xsl:when test="<xsl:value-of select="guildrank" /> == 0"> Gilden-Fuehrerin<BR/></xsl:when>

so gehts nicht ;(

wie kann ich denn abprüfen ob die variable aus dem XML-file den Wert 0 hat?

Danke Ben

  1. Hallo,

    ich möchte einen when Abfrage machen, wenn eine variable in so einem XML-file einen bestimmten wert hat dann soll eine bestimmte Ausgabe folgen ...

    <xsl:when test="<xsl:value-of select="guildrank" /> == 0"> Gilden-Fuehrerin<BR/></xsl:when>

    so gehts nicht ;(

    wie kann ich denn abprüfen ob die variable aus dem XML-file den Wert 0 hat?

    <xsl:when test="guildrank = '0'">
    ...
    </xsl:when>

    oder

    <xsl:when test="number(guildrank) = 0">
    ...
    </xsl:when>

    MfG, Thomas

    1. OK Danke, der fehler ist jetzt weg, aber ein neuer ist da

      xsl:when may not be used here ??

      <td width="110" align="left">
                  <xsl:when test="guildrank = 0"> Gilden-Fuehrerin<BR/></xsl:when>
                  <xsl:when test="guildrank = 1"> Vize Gilden-Fuehrerin<BR/></xsl:when>
                  <xsl:when test="guildrank = 2"> Offizier<BR/></xsl:when>
                  <xsl:when test="guildrank = 3"> Unteroffizier<BR/></xsl:when>
                  <xsl:when test="guildrank = 4"> Fahnenjunker<BR/></xsl:when>
                  <xsl:when test="guildrank = 5"> Soldat<BR/></xsl:when>
                  <xsl:when test="guildrank = 6"> Krieger<BR/></xsl:when>
                  <xsl:when test="guildrank = 7"> Rekrut<BR/></xsl:when>
                  <xsl:when test="guildrank = 8"> Knappe<BR/></xsl:when>
                  <xsl:when test="guildrank = 9"> einfacher Knappe<BR/></xsl:when>
                  <xsl:value-of select="race" /><BR/>

      wieso darf das hier nicht verwendet werden?

      Gruss Ben

      1. Hallo,

        OK Danke, der fehler ist jetzt weg, aber ein neuer ist da

        xsl:when may not be used here ??

        Verwende xsl:when als Kindelement(e) von xsl:choose bzw. xsl:if.

        MfG, Thomas

        1. [Nachtrag:]

          Verwende xsl:when als Kindelement(e) von xsl:choose bzw. xsl:if.

          Koennte missverstanden werden: ... bzw. xsl:if statt xsl:when.

          MfG, Thomas

      2. Hallo

        OK Danke, der fehler ist jetzt weg, aber ein neuer ist da

        xsl:when may not be used here ??

        [Dein Code]

        wieso darf das hier nicht verwendet werden?

        Weil xsl:when nur innerhalb von xsl:choose vorkommen darf:
        http://selfhtml.teamone.de/xml/darstellung/xsltelemente.htm#choose

        Gruß
        Franz

      3. Hi,

        xsl:when may not be used here ??

        Weil xsl:when nur in xsl:choose vorkommen darf.

        Lektüre-Empfehlung: http://www.w3.org/TR/xslt und http://www.w3.org/TR/xpath

        Andreas

      4. Vielen Dank!!

        Gruss Ben

        1. Kann man beim xls:if auch auf strings abfragen?

          in den Beispielen hier auf der seite sinds immer nur zahlen.

          und wenn ich jetzt abfrage

          <xsl:if test="fletching = type"> Bogenmacher </xsl:if>

          dann bringt er nichts raus, obwohl type:fletching gibt.

          1. Hallo,

            <xsl:if test="fletching = 'type'"> Bogenmacher </xsl:if>

            Lies Dir die beiden Teile durch, die ich Dir angegeben habe, da steht das alles drin.

            Andreas