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 |