[xsl] Comma operator returns a sequence of its items, or not?

Subject: [xsl] Comma operator returns a sequence of its items, or not?
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Sun, 27 May 2012 16:56:37 +0200
Hi list,

I'm probably missing the obvious here, but I would expect the following
simplified code snippet:

<xsl:template match="/">
    <xsl:value-of select="
        my:overload(12),
        my:overload(13)" separator=";" />       
</xsl:template>

<xsl:function name="my:overload">
    <xsl:param name="one" />
    <xsl:value-of select="$one"/>
</xsl:function>

to output "12;13". However, it outputs "1213" with Saxon 9.3. Is this my
misunderstanding of the comma operator, or am I missing something
obvious? I know that xsl:value-of does not return a sequence, but I'd
expect the comma operator to kick in, same as in <xsl:value-of
select="'12', '13'" separator=";" />, which outputs "12;13" as expected.

Thanks,
Abel

Current Thread