Yikes 0 Newbie Poster

I'm using the Altova engine and have the following code

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:pfp="http://www.mystuff.com/pfp">
  <xsl:output method="xml" omit-xml-declaration="yes"/>
  <msxsl:script language="C#" implements-prefix="pfp">
    <msxsl:using name="clitype:System.Text"/>
    <msxsl:using name="clitype:System.Xml"/>
    <msxsl:using name="clitype:System.Xml.XPath"/>
    <msxsl:using name="clitype:System.Collections.Generic"/>
    <msxsl:using name="clitype:System.IO"/>
    <![CDATA[
     public string Next3()
     {
     return "<test1><test2>success!</test2></test1>";
     }
     ]]>
    </msxsl:script>
    <xsl:template match="/">
    <nextjob>			
      <xsl:variable name="temp" as="node()" select="collection(pfp:Next3())"/>
      <xsl:for-each select="$temp/test1/test2">
        <xsl:value-of select="."/>
      </xsl:for-each>
   </nextjob>
  </xsl:template>
</xsl:stylesheet>

But I'm getting an error "Error: Object does not match target type" on "select="collection(pfp:Next3())""
This is the first project I've done with XSLT 2.0 (everything I've done before is 1.0), so I'd appreciate some help figuring out what I'm doing wrong here