我将一堆键值对作为参数传递给 XSL(日期 ->“1 月 20 日”,作者 ->“Dominic Rodger”,...)。
这些在我正在解析的一些 XML 中被引用 - XML 看起来像这样:
<element datasource="date" />
目前,我不知道如何从这些中获得 1 月 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 中枚举所有可能的映射键。有任何想法吗?
谢谢,
多姆