2011-01-10 5 views
5

現在、私はこのコードを各ユーザノードの "user"テンプレートと呼んでいます。<xsl:apply-templates>でカスタムテンプレート名を使用する

<xsl:for-each select="./user|./UnformatedUser"> 
    <xsl:apply-templates select="."> 
    <xsl:with-param name="span"/> 
    </xsl:apply-templates> 
</xsl:for-each> 

ただし、すべてのユーザーに "fulluser"という名前のテンプレートを使用したいと考えています。 <xsl:apply-templates>タグにname="fulluser"を追加しようとしましたが、動作しませんでした。

+0

良い質問、+1。各ケースで使用するXSLT命令の説明については、私の答えを参照してください。 :) –

+0

コード "*が各ユーザーノードの"ユーザー "テンプレートを呼び出す方法がわかりません*" ... –

+0

適用されません - テンプレートはノードと同じ名前のテンプレートを呼び出しますか? – ThiefMaster

答えて

14

<xsl:apply-templates>命令では、特定のノード上で実行するテンプレートをテンプレート名で選択しません。どのテンプレートを選択するかを決めるときにテンプレートの一致パターンのみを使用します。

テンプレートを名前で実行するには、<xsl:call-template>命令を使用します。

2

なぜxsl:call-templateを使用しないのですか?

関連する問題