|
Subject: Re: [xsl] What's wrong with a variable inside a xsl:when ? From: Ronan Klyne <ronan.klyne@xxxxxxxxxxx> Date: Wed, 20 Jun 2007 14:44:21 +0100 |
Norman Rosner wrote:
> Yeah I did that
>
>
>
> <xsl:variable name="translation">
> <xsl:choose>
> <xsl:when test="$kind = 'ADJA'"><xsl:value-of
> select="mt:lexicon_adjectives($lemma)"/></xsl:when>
> <xsl:when test="$kind = 'NN'"><xsl:value-of
> select="mt:lexicon_noun($lemma)"/></xsl:when>
> <xsl:otherwise>[set the value here]</xsl:otherwise>
> </xsl:choose>
> </xsl:variable>
>
>
> and what I got from saxon was :
>
> Warning: at xsl:variable on line 25 of
> file:/Users/jeckyll/studium/au/project/norman/norman_neu.xsl:
> SXWN9001: A variable with no following sibling instructions has no effect
>
>
> but that sounds strange to me because i think i have sibling element in
> my variable element or am i wrong?
>
> thanks for help!
>
> On 20.06.2007, at 15:25, cknell@xxxxxxxxxx wrote:
>
>>> I need that variable inside my when element so i can use a different
>>> function then inside
>>> another when element.
>>
>> I don't understand this, but probably your notion that you need to do
>> this in the way you are trying to do it is wrong.
>>
>> In general, with XSLT you need to set the value of a variable in a
>> manner that seems "inside out" as compared to procedural languages.
>>
>> This is the general form:
>>
>> <xsl:variable name="x">
>> <xsl:choose>
>> <xsl:when test="">[set the value here]</xsl:when>
>> <xsl:otherwise>[set the value here]</xsl:otherwise>
>> </xsl:choose>
>> </xsl:variable>
>>
>> --
>> Charles Knell
>> cknell@xxxxxxxxxx - email
>>
>>
>>
>> -----Original Message-----
>> From: Norman Rosner <jeckyll@xxxxxxx>
>> Sent: Wed, 20 Jun 2007 15:08:38 +0200
>> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>> Subject: [xsl] What's wrong with a variable inside a xsl:when ?
>>
>> Hi Folks,
>>
>> i have a problem with defining a variable inside a when element.
>>
>> If i write it this way, so that the variable is outside everything is
>> fine with saxon.
>>
>> <xsl:function name="mt:check_the_next">
>> <xsl:param name="kind"/>
>> <xsl:param name="lemma"/>
>>
>> <xsl:variable name="translation_adja"
>> select="mt:lexicon_adjectives('texanisch')"/>
>>
>> <xsl:choose>
>> <xsl:when test="$kind = 'ADJA'">
>> .
>> .
>> .
>>
>> </xsl:function>
>>
>> But if i write it this way,
>>
>> <xsl:function name="mt:check_the_next">
>> <xsl:param name="kind"/>
>> <xsl:param name="lemma"/>
>>
>> <xsl:choose>
>> <xsl:when test="$kind = 'ADJA'">
>>
>> <xsl:variable name="translation_adja"
>> select="mt:lexicon_adjectives('texanisch')"/>
>> .
>> .
>> .
>>
>> </xsl:function>
>>
>>
>> so that the variable is inside my when element saxon does nothing.
>> It just tells me the following:
>> Warning: at xsl:variable on line 22 of file:/Users/jeckyll/studium/au/
>> project/norman/norman_neu.xsl:
>> SXWN9001: A variable with no following sibling instructions has no
>> effect
>>
>>
>> I don't know what to o because the failure that there are no siblings
>> is not correct i think because the value is choosen.
>>
>> Pleas help me xsl-List members :) I need that variable inside my when
>> element so i can use a different function then inside another when
>> element.
>>
>> What am i doing wrong ?
>>
>>
>> cheers,
>>
>> norman
>
>
The message is warning that there is no element after the
</xsl:variable> - essentially that the variable is not being used.
If you follow the variable definition with something like <xsl:value-of
select="$translation"/>, then this warning will disappear.
# r
--
Ronan Klyne
Business Collaborator Developer
Tel: +44 (0)870 163 2555
ronan.klyne@xxxxxxxxxxx
www.groupbc.com
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] What's wrong with a varia, Norman Rosner | Thread | Re: [xsl] What's wrong with a varia, Norman Rosner |
| Re: [xsl] What's wrong with a varia, David Carlisle | Date | Re: [xsl] What's wrong with a varia, David Carlisle |
| Month |