次の方法で、返される関数の値を xslt の変数に代入できることを知っています。
<xsl:variable name="var" select="myClass:function1()"/>
しかし、void関数を呼び出したいのですが、上記の構文はまだ機能しますが、それを行うためのより良い方法またはよりクリーンな方法はありますか?
XSLT から Java へのインターフェースは標準化されていません。使用している XSLT プロセッサによって異なるため、この情報を質問に含める必要があります。(実際、あなたは Java を使用しているかどうかさえ言いません。私は文脈からこれを推測しました)。
Saxon では、xsl:variable 内で副作用のある関数を呼び出すことは絶対にお勧めしません。変数は遅延評価されるため、評価の順序を制御できず、変数が参照されない場合は評価されません。全て。副作用のある関数を呼び出す必要がある場合は、関数が値を返す場合にその値が結果ツリーに追加されるポイントで、xsl:value-of 命令で呼び出すのが最善です。(Saxon オプティマイザーは、関数が何も返さないという知識を使用しないように最善を尽くしています。通常、関数は呼び出されません。)