e.g。
将下面描述为一系列文本节点是否准确?
("foo", "bar", "baz")
答案 0 :(得分:3)
不,他们不是。字符串不等于文本节点,这是一个字符串序列。
文本节点的类型为Node
,它也是item
(这些是XQuery中最常用的数据类型)。字符串派生自xs:anyAtomicType
,同样也是item
。
可以使用
构建一系列文本节点(text { "foo" }, text { "bar" }, text { "baz" })
您可以使用typeswitch
构造轻松确定节点的类型:
for $item in (text { "foo" }, "bar", 42)
return
typeswitch($item)
case text()
return "text node"
case xs:string
return "string"
default
return "Something else"
您还可以测试继承的类型:
for $item in (text { "foo" }, "bar", 42)
return
typeswitch($item)
case node()
return "node"
case xs:anyAtomicType
return "anyAtomicType"
default
return "Something else"