为什么xs:string不是XQuery中的xs:NMTOKEN的实例?

时间:2012-10-29 18:01:13

标签: casting xquery instanceof

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

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

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

1 个答案:

答案 0 :(得分:2)

不,"123"xs:string字面值,而不是其子类型之一。如果要获取值为xs:NMTOKEN的{​​{1}}项,则必须显式转换字符串:

123

按预期返回xs:NMTOKEN("123") instance of xs:NMTOKEN