2015-06-24 75 views
0

這裏有點問題。我想打印一個屬性節點的值,但在xsl:value-of的select中有一個concat。在select中帶有concat的屬性節點的值

就像那個(我已經在目標節點):

<xsl:value-of select="concat('@', $categories)"/> 

但是,當我試圖做這種方式,它只是打印我的concat方法的結果。

感謝您的幫助。

回答

1

您不能構建像這樣的動態XPath表達式,但在這種情況下,您不需要。如果你想其包含在categories變量屬性的值,那麼就可以實現與

<xsl:value-of select="@*[name() = $categories]"/> 
+0

感謝隊友!它完美的工作,你能解釋我爲什麼我不能做我試過的嗎?你的代碼在做什麼? – Toodoo

+1

@Toodoo在你的例子中'value-of'評估'concat'表達式,它返回一個字符串,返回它必須採用的強屬性值,將它編譯爲一個表達式,然後再評估一次。我的代碼提取當前元素('@ *')上所有屬性節點的集合,然後使用_predicate_過濾設置以找到名稱正確的節點。如果沒有該名稱的屬性,則過濾的結果將是空集,其「value-of」是空字符串。 –