【问题标题】:Why is a xs:string not an instance of an xs:NMTOKEN in XQuery? [closed]为什么 xs:string 不是 XQuery 中 xs:NMTOKEN 的实例? [关闭]
【发布时间】:2012-10-29 18:01:13
【问题描述】:

当我尝试以下"123" instance of xs:NMTOKEN 时,它返回 false。
但是当我尝试"123" instance of xs:string 时,它返回true。

在我看来,第一个结果是错误的,因为字符串可以转换为 xs:NMTOKEN,对吗?即,我希望 "123" instance of xs:NMTOKEN 返回 true。

这是我正在使用的实现的错误吗?

【问题讨论】:

    标签: casting xquery instanceof


    【解决方案1】:

    不,"123"xs:string 文字,而不是它的子类型之一。如果你想获得一个值为123xs:NMTOKEN 项目,你必须显式地转换字符串:

    xs:NMTOKEN("123") instance of xs:NMTOKEN
    

    按预期返回true

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-01
      • 1970-01-01
      • 2018-09-18
      • 2010-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多