>>107
> とやっても変数がうまく使えないんですが。

うまく使えない、って言い方が曖昧。どううまく使えないんだ?
などと意地悪いっても仕方がないので、予測で回答。

> <xsl:variable name="hoge">AAA</xsl:variable>
この書き方だと、hogeにはAAAというテキストノードを持つ”ノード集合”が割当たってることになる。
単純に文字列AAAを割り当てたいなら、
<xsl:variable name="hoge" select="AAA" />
とすべき。

> あと、$hoge + 3 を $hoge_new に代入したい場合はどう書けばいいんですか。
単純に<xsl:variable name="hoge_new" select="$hoge + 3" />でイイと思うが。
つか、パラメーター渡しなら<xsl:param>と<xsl:with-param>の方がイイと思うが。