0

私の xslt テンプレートは次のようになります。

<xsl:template match="text()">
        <xsl:param name="precedingPStyle" select="preceding-sibling::aic:pstyle[position()=1]/@name"/>

</xsl:template>

上記の有効な xslt テンプレートはありますか? このテンプレートをいつどのように呼び出すことができますか? 名前はなく、一致のみがあり、一致にはパラメーターがあります。

4

1 に答える 1

1

xsl:apply-templates選択したノードに最適なテンプレートである場合に呼び出されます。このテンプレートのような他のより具体的なテンプレートがない場合はmatch="text()[normalize-space(.)]"、すべてのテキスト ノードに適用されます。

パラメータについては、とまったく同じ方法でapply-templatesサポートします。with-paramcall-template

<xsl:apply-templates select="*/text()">
  <xsl:with-param name="precedingPStyle" select="'normal'"/>
</xsl:apply-templates>

select 式は、with-paramテンプレートが適用されるターゲット ノードではなく、呼び出しのコンテキストで評価されます。と同様にcall-template、明示的に設定されていないパラメータは、テンプレート内の要素の式でwith-param指定されたデフォルト値を取ります(呼び出しではなく、ターゲットのコンテキストで評価されます)。selectxsl:param

于 2013-02-07T09:21:08.777 に答える