申し訳ありませんが、私はこれについて頭を悩ませることができません:
これを変える方法はありますか...
<xsl:value-of select="concat('name-', $language)" />
...これに:
<xsl:value-of select="name-en" />
?
助けてくれてありがとう!
<xsl:value-of select='*[name() = concat("name-", $language)]' />
これを試して
<xsl:variable name="name-en" select="concat('name-', $language)">
</xsl:variable>
私はあなたが実際に同等のものを達成することを意図していたと思います...
<xsl:value-of select="'name-en'" />
(「name-en」の前後の引用符に注意してください。)これが意図していない場合は、お知らせください。
$language変数の値を'en'に設定するだけです。
<xsl:variable name="language" select="'en'" />
ちなみに、1.0ではなくXSLT 2.0を使用している場合は、省略できます...
<xsl:value-of select="concat('name-', $language)" />
... の中へ ....
<xsl:value-of select="'name-', $language" />
良いですね!
タイトルだけで判断:
XSLTで変数を要素名に入れる方法は?
答えは:
<xsl:element name="{$theVariable}"/>
これにより、名前が$theVariable
変数の値である要素が生成されます。
特定のケースでは、次を使用します。
<xsl:element name="name-{$language}"/>
説明:
<xsl:element>
およびAVT(属性値テンプレート)の適切な使用。