Xquery Replace函数表示找到了项目预期序列
我有如下所示的源XML,我使用except函数提取标题文本和所有子元素字符串(unwantedtag内容除外)。当我尝试使用replace函数在标题末尾添加点时。我收到一个错误,表示找到了项目预期序列。有人能帮我解释为什么会出现这个错误以及如何解决这个问题吗: 示例XML:Xquery Replace函数表示找到了项目预期序列,xquery,xslt-2.0,Xquery,Xslt 2.0,我有如下所示的源XML,我使用except函数提取标题文本和所有子元素字符串(unwantedtag内容除外)。当我尝试使用replace函数在标题末尾添加点时。我收到一个错误,表示找到了项目预期序列。有人能帮我解释为什么会出现这个错误以及如何解决这个问题吗: 示例XML: <test> <title>sample <i>title</i><sup>*</sup> <unwantedcontent>
<test>
<title>sample <i>title</i><sup>*</sup>
<unwantedcontent>
<p>unwanted text.</p>
</unwantedcontent>
</title>
<p2>sampletest2</p2>
</test>
$s1的值将包括三个文本节点sample、title、*以及可能的两个纯空白文本节点,具体取决于源文档的解析方式。我认为您可能希望在添加..之前连接这些文本节点,并可能修剪尾部空白。。这将是
let $s2 := replace(normalize-space(string-join($s1, '')), "(.*)([^.])$", "$1$2.")
太棒了@Micheal Kay,这正是我想让string join在这里变魔术的地方。非常感谢。很高兴它能起作用。StackOverflow的惯例是,如果答案有效,您不需要说谢谢,而是应该勾选答案旁边的复选框,将其标记为已接受。
let $s2 := replace(normalize-space(string-join($s1, '')), "(.*)([^.])$", "$1$2.")