名前付きテンプレートのパラメーターを別のテンプレートの一致パターンとして指定することはできますか?
ここで、「抜粋」テンプレートを呼び出して、「パス」パラメータとしてXPathを渡そうとすると、エラーが発生します。
<xsl:template name="excerpt">
<xsl:param name="path" select="''" />
<xsl:apply-templates select="$path" />
</xsl:template>
<xsl:template match="$path">
<article class="newsarticle">
<h2><a href="{$root}/news/view/{title/@handle}"><xsl:value-of select="title" /></a></h2>
<xsl:copy-of select="excerpt/node()" />
</article>
</xsl:template>
私はそれを達成することができます<xsl:for-each>
が、上記のアプローチと同様の何かを使用して良い解決策があるかどうか疑問に思いました。
編集:これが私が達成しようとしていることであり、<xsl:for-each>
:
<xsl:template name="excerpt">
<xsl:param name="path" select="''" />
<xsl:for-each select="$path">
<article class="newsarticle">
<h2><a href="{$root}/news/view/{title/@handle}"><xsl:value-of select="title" /></a></h2>
<xsl:copy-of select="excerpt/node()" />
</article>
</xsl:for-each>
</xsl:template>
編集:テンプレートの呼び出し例:
<xsl:call-template name="excerpt">
<xsl:with-param name="path" select="path/to/nodeset" />
</xsl:call-template>