Эммм...
Слав, я наверное слишком узко мысли излагаю (мне-то проблема ясна как божий день). Первое сообщение дополнил.
В первом коде приведены исходные данные. Из них, с помощью 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 ругается на такую конструкцию. 
