One basic problem with the following template is that xsl:value-of is going to
apply toString() on whatever Java object
is returned by XMLFile.new() [I think this is bottlenecked in
org.apache.xpath.objects.XObject.str()]. You should use
xsl:copy-of instead of xsl:value-of unless you really want a string. This is a
common XSL programming error. However, as
far as I can see, xsl:copy-of won't work either. There's a chance that the
object you desire is wrapped in XObject and
placed in a Result Tree Fragment or node set. You could write an extension
function that might be able to unwrap the
desired object.
<xsl:template match="ile:content|ile:template">
<xsl:variable name="xsl" select="ile:xsl"/>
<xsl:variable name="xml" select="ile:xml"/>
<xsl:value-of select="java:edu.virtualschool.jile.ctlr.XMLFile.new(
string($xsl),
string($xml)
)"/>
</xsl:template>