"think of XSLT as a functional language"
XSLT is the only language I've ever used that is described as Functional, so I
don't know what impact that has generically. I am, as you can all see, now
learning a bit more about the implications.
"There's no concept of an "early return" from a mathematical function"
Indeed not.
"nor from an XSLT one."
That was the core of my question. How to express a problem which I can easily
express in that way in a form suitable for XSLT.
Appreciatively,
Richard.
________________________________________
From: Liam R E Quin liam(_at_)w3(_dot_)org
[xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com]
Sent: 16 June 2014 21:12
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] "if-condition-return something" idiom : is it possible in
XSLT ?
On Mon, 2014-06-16 at 13:00 +0000, Kerry, Richard
richard(_dot_)kerry(_at_)atos(_dot_)net
wrote:
I tend to view (*) xsl:choose as similar to C's "switch", which needs
to do a single calculation to work out which branch to run.
(*) I may well be wrong in this.....
xsl:choose is like a sequence of C if statements in practice, and is
what yu want for your C++-like example.
But I think it better to think of xsl:choose in the mathematical sense,
e.g.
A := f(x)
0 when x <= 1
17 when x <= 7
A(x - 1) . A(x - 2) when x^2 + 1 is prime
31x / 7 otherwise
That is, I prefer to think of XSLT as a functional language in which one
is describing the end result rather than as a procedural language with
loops and returns.
There's no concept of an "early return" from a mathematical function,
nor from an XSLT one.
Liam
--
Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/
Pictures from old books: http://fromoldbooks.org/
Ankh: irc.sorcery.net irc.gnome.org freenode/#xml
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--