メソッド呼び出しの第一引数としてパースされる Java オブジェクトが、インスタンスメソッドには与えられています。このような Java オブジェクトは通常、拡張関数を使うことで作成される(例:コンストラクターの呼び出し)か、スタイルシートパラメーター/変数により作成されます。以下に XSLT サンプルを示します:
<xsl:stylesheet version="1.0" exclude-result-prefixes="date"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:date="java:java.util.Date"
xmlns:jlang="java:java.lang">
<xsl:param name="CurrentDate" select="date:new()"/>
<xsl:template match="/">
<enrollment institution-id="Altova School"
date="{date:toString($CurrentDate)}"
type="{jlang:Object.toString(jlang:Object.getClass( date:new() ))}">
</enrollment>
</xsl:template>
</xsl:stylesheet>
上の例では、ノード enrollment/@type の値が以下のように作成されます:
1.java.util.Date クラスに対するオブジェクトがコンストラクター( date:new() コンストラクター)とともに作成されます。
2. jlang.Object.getClass メソッドの引数として Java オブジェクトがパースされます。
3. getClass メソッドにより得られたオブジェクトが jlang.Object.toString メソッドの引数としてパースされます。
結果(@type の値)は java.util.Date を持った文字列となります。
インスタンスフィールドは、引数としてインスタンスフィールドへ渡される Java オブジェクトではないという点で、理論的にはインスタンスメソッドと異なります。パラメーターや変数がその代わりに引数として渡されますが、パラメーター/変数そのものに Java オブジェクトから返された値が含まれている場合もあります。例えば、CurrentDate パラメーターには java.util.Date クラスのコンストラクターから返された値が含まれます。この値は引数として、date:toString インスタンスメソッドへ渡され、/enrollment/@date の値として使用されます。