在 X PATH 字符串中使用 XSLT 变量

Using XSLT variable in X PATH string

我有一个 XPath 字符串如下:

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

我想使用之前定义的 XSLT 变量构建一个新的 XPath:

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

我还没试过 'concat' 也许可以。我正在使用 XSLT 2.0。如果我使用上面定义的字符串,XSLT 解析器会报错:

XPST0003 第 89 行附近的字符 65 处出现 XPath 语法错误:路径表达式中出现意外标记“”

您可以在 XPath 表达式中的任何位置引用变量:

/results/server[@name eq $server]

如果你用引号写它,'$server',那么它只是一个恰好包含美元符号的字符串文字。