The rules for passing parameters to an XSLT processor depend entirely on the processor you are using. The rules for Saxon are given here:
http://www.saxonica.com/documentatio...on-result.html
(Although this is written to describe conversion of extension function results, it also points out "The same rules are used in converting a Java object supplied as a parameter to a stylesheet or query.")
See the paragraph starting "If the returned value is an instance of the Java class java.util.List, ..."