Эммм...
Слав, я наверное слишком узко мысли излагаю (мне-то проблема ясна как божий день). Первое сообщение дополнил.
В первом коде приведены исходные данные. Из них, с помощью XSL, я должен из них получить такое:
User name: Вася
User age: 32
Т.е. значения берутся из параметров XSL с именами name и age. Сейчас я использую такой шаблон:
<xsl:template match="placeholder[@type]">
<xsl:choose>
<xsl:when test="@type='name'">
<xsl:value-of select="$name"/>
</xsl:when>
<xsl:when test="@type='age'">
<xsl:value-of select="$age"/>
</xsl:when>
</xsl:choose>
</xsl:template>
Т.е. тупо перебираю возможные значения аттрибута
type и вывожу значение соответствующего параметра.
Но ведь совершенно очевидно, что значение аттрибута
type и есть имя параметра. По идее обращение к параметру с именем
name внутри XSL выглядит так:
$name, а получение значения аттрибута
@type. Поэтому напрашивается совмещение синтаксиса:
$@typeНо процессор XSLT ругается на такую конструкцию.