0

例如

将以下内容描述为一系列文本节点是否准确?

("foo", "bar", "baz")
4

1 回答 1

3

不,他们不是。字符串不等于文本节点,这是一个字符串序列。

文本节点的类型Node是 ,它又是一个item(这些是 XQuery 中最通用的数据类型)。字符串派生自xs:anyAtomicType,这也是一个item.

看看XQuery 的数据类型图

确定项目的类型

可以使用构建一系列文本节点

(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"
于 2013-07-05T14:39:54.273 回答