Given an XSL 'If' statement:
<xsl:if test="a = 'some value' and b = 'another value'">
If a
does not equal 'some value'
, is the value of b
still checked? (As if the first test is false
, the only outcome of the and
is false
.) This is what languages like C# do - I was wondering if the same goes in XSL. Does it depend on the engine/parser?
Yes, this is depending on the implementation. But since XSLT is side-effect-free (as opposed to C# and other languages, where a function call chainging some state or even an assignment can be in the expression), this does not matter.
Yes, it is called lazy-evaluation or short-circuiting, and xsl supports it. See: http://www.w3.org/TR/xpath#booleans