当我尝试以下"123" instance of xs:NMTOKEN
时,它会返回false
但是当我尝试"123" instance of xs:string
时,它返回true。
在我看来,第一个结果是错误的,因为字符串可以转换为xs:NMTOKEN,对吧?即,我希望"123" instance of xs:NMTOKEN
返回true。
这是我正在使用的实现的错误吗?
答案 0 :(得分:2)
不,"123"
是xs:string
字面值,而不是其子类型之一。如果要获取值为xs:NMTOKEN
的{{1}}项,则必须显式转换字符串:
123
按预期返回xs:NMTOKEN("123") instance of xs:NMTOKEN
。