<xsl:template match="foobar">
<xsl:if test="a[name = 'foo']">
<xsl:apply-templates select="x/y[1]|x/y[2]" />
</xsl:if>
<xsl:if test="a[name = 'bar']">
<xsl:apply-templates select="x/y[3]|x/y[4]|x/y[5]" />
</xsl:if>
</xsl:template>
ロケーション パス式 "x/y[1]|x/y[2]" および x/y[3]|x/y[4]|x/y[5] をパラメーターとして渡したいのですが、この値はは将来変更される可能性があり、テンプレートは編集せずにパラメーター定義のみを編集したいと考えています。上記のテンプレートを次のように使用したいと思います
<xsl:template match="foobar">
<xsl:if test="a[name = 'foo']">
<xsl:apply-templates select="$param1" />
</xsl:if>
<xsl:if test="a[name = 'bar']">
<xsl:apply-templates select="$param2" />
</xsl:if>
</xsl:template>
私の知る限り、これは不可能です。ロケーションパス式を外部化する最良の方法は何ですか?
よろしくお願いします