如何检查节点中是否没有文本?我可以使用 string($node)="" 因为节点可以是这样的
<node> </node>
我的意思是,它可以包含空格但不能包含文本?
我们被这件事抓住了,在检查节点是否真的有文本时,空格和换行符让我们有些悲伤。最后,我们创建了一个函数来检查元素的文本节点,并检查这些文本节点是否包含任何单词字符。这是它的样子:
some $child in $node/text() satisfies (fn:matches($child, "\w+"))
如果其中一个子文本节点有任何单词字符,我们将其定义为具有文本,当然如果它没有文本节点或具有没有单词字符的文本节点,我们将其定义为没有文本。
看fn:normalize-space
功能。