Javaのコード内の変数をXSLスタイルシートに渡す方法を調べた。
参考ページ
パラメータを使った値の受渡し
Saxon 9.2 / Java / XSLT: setting transformer parameters using setParameters() - Stack Overflow
Java側の設定
TransformerのsetParameterメソッドでKey-Value方式でパラメータを設定
TransformerFactory tFactory = new net.sf.saxon.TransformerFactoryImpl(); Transformer transformer = tFactory.newTransformer(xslSource); transformer.setParameter("foo", "bar");
XSLスタイルシートの設定
使用するパラメータを<xsl:stylesheet/>直下で指定する。
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="2.0"> <xsl:param name="foo"/>
これでグローバルパラメータになったので、あとは欲しいところで<value-of select="$foo">で取得できる。