在 xpath 中连接 string/character n 次

concatenate a string/character n number of times in xpath

我在我的消息流中使用映射节点,有一部分我需要 在 xpath 函数中连接 string/character n 次。 有什么办法可以做到这一点 xpath 表达式或 xpath 构建函数(或两者)? 例如:连接 '~' 17 次。

在 XPath 2.0 中很简单:

string-join(for $i in 1 to 17 return '~', '')

在 XPath 3.0 中更简单:

string-join((1 to 17)!'~')

在 XPath 1.0 中,最好的办法可能是用 100(或任意多个)波浪符号初始化变量 $tildes,然后使用

substring($tildes, 1, 17)