我將一串鍵值對作爲參數傳遞給XSL(日期 - >「1月20日」,作者 - >「Dominic Rodger」,...)。XSLT中的動態變量
這些在一些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中枚舉所有可能的映射鍵。有任何想法嗎?
感謝,
大教堂
請別注意,從提出的三個答案,兩者是不正確的 - 沒有一個「+」操作符在XPath的字符串,而且,AVT不能爲「選擇」指定屬性在XSLT中。我的解決方案已經過測試和工作 – 2009-01-30 00:05:19