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/