xsl-list
[Top] [All Lists]

RE: [xsl] What's wrong with a variable inside a xsl:when ?

2007-06-20 06:26:04
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(_at_)onebox(_dot_)com - email



-----Original Message-----
From:     Norman Rosner <jeckyll(_at_)mac(_dot_)com>
Sent:     Wed, 20 Jun 2007 15:08:38 +0200
To:       xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--