Leszek Gawron pisze:
> I may be biased but I would expect exactly the first case. I made a
> mistake in previous mail proposing jx:if to be scoped. Please mind that
> jx:set always puts a variable in current scope so you are not able to
> change variable value:
> 
> <jx:set var="foo" value="bar"/>
> <jx:if test="true">
>   <jx:set var="foo" value="bazzz"/>
> </jx:if>
> <test>${foo}</test>
> </root>
> 
> should result in <test>bazzz</test> otherwise people will get very
> confused. A common user won't find the case much different from:
> 
> <jx:set var="foo" value="bar"/>
> <jx:set var="foo" value="bazzz"/>
> <test>${foo}</test>
> 
> which in turn works as expected.
> 
> Long time ago we have already discussed about introducing jx:declare
> along with jx:set. I cannot recall if any consensus was met.

I remember that I have read that discussion and I agree that there was no clear 
consensus.

I also remember that there were several folks expressing their opinion that jx 
should as far from
imperative programming language as possible. I second that opinion so I'm quite 
concerned with your
example. It is a programming language.
XSLT lives without such constructs so could you give us a use case for this one?

Nevertheless, we need to fix scoping now so we really need to gather some 
consensus when new local
context should be established.

-- 
Grzegorz Kossakowski
http://reflectingonthevicissitudes.wordpress.com/

Reply via email to