Subject: Re: [xsl] Selecting from a sequence From: "Mailing Lists Mail daktapaal@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 5 Feb 2015 19:31:33 -0000 |
<xsl:variable name="foo" select = "xxx"/> <xsl:variable name="bar" select= "yyy"/> <xsl:variable name="foo1"/> <xsl:variable name="bar1" select= "'world'"/> <xsl:value-of select="($foo,$bar)[1]"/> <!--first--> <xsl:value-of select="(string($foo1),$bar1)[1]"/><!--Second--> First worked but second did not work I was expecting "World" to be output to the result .. On Thu, Feb 5, 2015 at 1:36 PM, Michael Kay mike@xxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > 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..
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Selecting from a sequence, Michael Kay mike@xxx | Thread | Re: [xsl] Selecting from a sequence, Michael Müller-Hille |
Re: [xsl] Selecting from a sequence, Michael Kay mike@xxx | Date | Re: [xsl] Selecting from a sequence, Michael Müller-Hille |
Month |