You can use Java code inside XSL, or at least with Xalan (apache) you can without any problems (xalan extensions) you can also use Javascript, perl and python if you have IBM�s Bean Scripting Framework. What you cannot have is java(script) inside your XML to execute during transformation.
<example>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:lxslt="http://xml.apache.org/xslt"
xmlns:js="ext1"
xmlns:metadados="ext2"
extension-element-prefixes="js metadados">
<xsl
utput method="xml" indent="yes"/>
<lxslt:component prefix="metadados" elements="insert update delete">
<lxslt:script lang="javaclass" src="transform.MetadadosUpdater"/>
</lxslt:component>
<snip/>
<xsl:if test="METADADOS/@OP='D'">
<xsl:value-of select="metadados:delete($c_id, @R_ID)"/>
</xsl:if>
</example>