我的Marklogic XQuery fn:data(<type>hello world</type>)
为我提供了无效的词汇值错误
这是堆栈跟踪:
query evaluated in Documents at file::Docs/ as 1.0-ml (cq v4.1-1-EA)
[1.0-ml] XDMP-LEXVAL: xs:integer("hello world") -- Invalid lexical value "hello world"
Stack trace:
line 2:
1:
2: fn:data(<type>hello world</type>)
xdmp:eval(" fn:data(<type>hello world</type>)", (), <options xmlns="xdmp:eval"><isolation>different-transaction</isolation></options>)
in /cq/eval.xqy line 111:
当我使用fn:data(<p>hello world</p>)
时,它给了我预期的答案(你好世界)。
对此错误的任何帮助都将不胜感激。
感谢。
答案 0 :(得分:2)
终于想到了什么是错的。
有一个xsd将元素type
定义为xs:integer
,这就是为什么会出现这个错误。删除了xsd,现在一切正常:)
答案 1 :(得分:2)
这里有一个提示:避免使用模式,除非它还指定了命名空间。这样可以更轻松地保持模式的有序化。