[xsl] type error on 3rd argument of key function

Subject: [xsl] type error on 3rd argument of key function
From: Ihe Onwuka <ihe.onwuka@xxxxxxxxx>
Date: Thu, 14 Feb 2013 17:12:50 +0000
 <xsl:variable name="formats" as="element()+">
        <lookup:format from="eps" to="image"/>
        <lookup:format from="gif" to="image"/>
        <lookup:format from="jpg" to="image"/>
</xsl:variable>

Assuming the above is correctly typed and I have the following key declaration

<xsl:key name="formats" match="lookup:*/@to" use="../@from"/>

Then the following invocation fais

key('formats',xfile/@format,$
formats)

with the error

A sequence of more than one item is not allowed as the third argument
of key().......

But if I untype the $format variable (remove the as attribute from the
$format variable), it works.

Experienced this on Saxon 9.1.0,7 and 9.3.0.5.

Current Thread