If $a and $b have cardinality zero-or-one then ($a, $b)[1] does what you want
(and is a common programming idiom).
But be careful, it doesn't work if either $a or $b can contain more than one
item.
Also, it tests whether $a exists, which isn't the same as your example of
testing the effective boolean value of string(@a).
Michael Kay
Saxonica
mike@xxxxxxxxxxxx
+44 (0) 118 946 5893
On 5 Feb 2015, at 18:32, Mailing Lists Mail daktapaal@xxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> Hey All,
> I have a logic that says :
>
> if $a found , then use it, else use $b.
> I can do this like
>
> <xsl:value-of select = "if(string($a)) then $a else $b"/>
>
> Can I do something like
> <xsl:value-of select = "($a,$b)[1]"/>
>
> Not sure , when this will work and when it wont. Or will it work at all..
|