Я передаю несколько пар ключ-значение в качестве параметров XSL (дата -> «20 января», автор -> «Доминик Роджер», ...).
На них есть ссылки в каком-то XML-файле, который я анализирую - XML выглядит следующим образом:
<element datasource="date" />
В настоящее время я не могу понять, как получить 20 января из них, кроме как с ужасным <xsl:choose>
заявлением:
<xsl:template match="element">
<xsl:choose>
<xsl:when test="@datasource = 'author'">
<xsl:value-of select="$author" />
</xsl:when>
<xsl:when test="@datasource = 'date'">
<xsl:value-of select="$date" />
</xsl:when>
...
</xsl:choose>
</xsl:template>
Я бы хотел использовать что-то вроде:
<xsl:template match="element">
<xsl:value-of select="${@datasource}" />
</xsl:template>
Но я подозреваю, что это невозможно. Я открываю использование внешних вызовов функций, но хочу избежать перечисления всех возможных ключей карты в моем XSL. Есть идеи?
Спасибо
Дом