gpt4 book ai didi

xquery - data() 和 string() 的区别

转载 作者:行者123 更新时间:2023-12-02 08:40:46 24 4
gpt4 key购买 nike

Xquery 中的 data() 函数和 string() 函数之间的实际区别是什么?当我使用它们时,它们似乎都返回相同的结果。有人可以给我一个简单的例子来说明它们有何不同吗?

let $dataset := 
<data-set cool="rad">
<!--- This is a comment -->
<pages cool2="rad2" more="i guess">
<page>
<title>Puppy</title>
<content>Puppies are great!</content>
</page>
<page>
<title>Dogs</title>
<content>Dogs are grown up!</content>
</page>
<page>
<title>Puppy</title>
<content>Puppies are great!</content>
</page>
</pages>
</data-set>

return $dataset/string()
(: data() returns the same thing as string() :)
(: return $dataset/data() :)

最佳答案

string() 将始终返回字符串,而 data() 返回“键入的值”。大多数时候这将是 xs:string;但是,它也可以是 xs:untypedAtomic 或任何其他原子类型(通常在模式中定义)。

也有一些不直观的情况。例如,获取文档节点上的 data() 将返回节点的字符串值,但作为 xs:untypedAtomic。作为一般规则,如果您需要字符串,请使用 string() 而不是 data()

有关所有详细信息,请参阅规范:http://www.w3.org/TR/xpath-functions/#func-data .

本节很好地解释了类型化数据和字符串数据之间的区别 http://www.w3.org/TR/xpath-datamodel/#typed-string-relationships .

关于xquery - data() 和 string() 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16744634/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com