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

Subject: Re: [xsl] What's wrong with a variable inside a xsl:when ?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 20 Jun 2007 14:43:05 +0100
FFFFaq, the scope of a variable binding is the element containing the
xsl:variable declaration. so if you define a variable inside any element
it goes out of scope outside that element.

You don't want to define a variable just if a condition is true, you
-always- want to define the variable, with a value that depends on a
condition, so having the condition in the value rather than outside is
far more natural unless your world view has been corrupted by some less
expressive languages that don't have conditional expressions.

You probably want something like

  <xsl:function name="mt:check_the_next">
     <xsl:param name="kind"/>
     <xsl:param name="lemma"/>

     <xsl:variable name="translation_adja"  
select="if($kind = 'ADJA') then mt:lexicon_adjectives('texanisch') else
something-else()"/>

...

David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

Current Thread