Xml 空格XQUERY上的Count()

Xml 空格XQUERY上的Count(),xml,count,xquery,Xml,Count,Xquery,我想数一数我列出了多少本书 我有: 如果我使用 count(books) 不管我的字符串有多长,它都只返回1,因为我猜计数是分开的 如何计算空白处的分隔数?假设书籍被空格分隔,您可以使用fn:tokenize()函数将字符串拆分为一系列字符串: fn:tokenize("book-one book-two book-three", " ") 这将返回一系列书籍: ("book-one", "book-two", "book-three") fn:tokenize()。这允许一些非常复杂的模

我想数一数我列出了多少本书 我有:

如果我使用

count(books)
不管我的字符串有多长,它都只返回1,因为我猜计数是分开的


如何计算空白处的分隔数?

假设书籍被空格分隔,您可以使用
fn:tokenize()
函数将字符串拆分为一系列字符串:

fn:tokenize("book-one book-two book-three", " ")
这将返回一系列书籍:

("book-one", "book-two", "book-three")
fn:tokenize()。这允许一些非常复杂的模式匹配


有关此函数的规范描述,请参见,有关XPath和XQuery中正则表达式的更多信息,请参见。

注意,XQuery 1.0版本的函数需要正则表达式作为第二个参数,最好先调用
normalize-space()
以消除任何前导或尾随空格,因为计数可能会产生误导。XQuery 3.1有一个单独的参数
tokenize()
函数,该函数在(有效地)执行隐式normalize-space()之后对空白进行标记。
("book-one", "book-two", "book-three")