XSLT から HTML に解析する必要がある次の XML ドキュメントがあります。
<root>
<c>
<c1>
<id>1</id>
<text>US</text>
</c1>
<c1>
<id>2</id>
<text>UK</text>
</c1>
</c>
</root>
これを HTML に変換するための XSLT を以下に示します。
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" />
<xsl:template match="root">
<html>
<xsl:for-each select="c/c1">
**<xsl:variable name="vTemplate" select="text"/>
<xsl:apply-templates select="$vTemplate[@name='text'"/>**
</xsl:for-each>
</html>
</xsl:template>
<xsl:template match="xsl:template[@name='text']" name="text">
<select>
<xsl:attribute name="id">
<xsl:value-of select="id"/>
</xsl:attribute>
</select>
</xsl:template>
</xsl:stylesheet>
テキストフィールドに応じてテンプレートを呼び出す必要があります。したがって、値USに対しては 1 つのテンプレートが実行され、UKに対しては別のテンプレートが実行されます。テンプレートを呼び出すときに、テンプレート名として変数を使用してこれを実現するにはどうすればよいですか? 試してみましたが、エラーが発生します。誰かが私がどこを間違えたのかを理解するのを手伝ってもらえますか?