2015-06-18 28 views
0

我有一個XPath字符串如下:在X PATH串使用XSLT可變

/results/server[@name='server1'] 

我想使用先前定義的XSLT變量來構造新的XPath:

/results/server[@name='$server'] 

我避難所」 t嘗試'concat'可能是可能的。我正在使用XSLT 2.0。 XSLT解析器抱怨,如果我使用的字符串如上述定義:

XPST0003 XPath語法錯誤在炭65上線89附近:意外令牌「」在路徑表達式

+0

你是什麼意思,「抱怨」?所有這些對我來說都是有效的(即使包含美元符號的字符串可能不是您想要的)。任何錯誤消息? –

+0

永遠不要告訴我們,沒有告訴我們錯誤是什麼,就會給你一個錯誤(或「抱怨」)。我們喜歡提供幫助,但不是在人們似乎故意阻止相關信息時。 –

+0

XPST0003在線89附近字符65處的XPath語法錯誤{... q $ currentHost]/hardwareSta ...}: 路徑表達式中的意外標記「」 – eeijlar

回答

2

您可以參考變量在XPath表達式中的任何位置:

/results/server[@name eq $server] 

如果用引號,'$server'寫出來,那麼它只是碰巧包含一個美元符號字符串文字。

+0

我使用該格式得到語法錯誤。這裏是字符串:'' – eeijlar

+1

您的表達式以路徑運算符(又名斜槓) ,這是無效的。這確實是一個語法錯誤。 –

+0

感謝您的回答 - 我不認爲甚至有可能將XSLT變量放入xpaths中...基於閱讀http://www.dpawson.co.uk/xsl/sect2/nono.html#d1874e40 – eeijlar