Marklogic Xquery fn:数据(<type> hello world </type>)给出无效的词法值错误

时间:2011-08-24 07:16:35

标签: xquery marklogic

我的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("&#13;&#10;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>)时,它给了我预期的答案(你好世界)。

对此错误的任何帮助都将不胜感激。

感谢。

2 个答案:

答案 0 :(得分:2)

终于想到了什么是错的。 有一个xsd将元素type定义为xs:integer,这就是为什么会出现这个错误。删除了xsd,现在一切正常:)

答案 1 :(得分:2)

很高兴你明白了。看起来额外的架构是针对空命名空间的?

这里有一个提示:避免使用模式,除非它还指定了命名空间。这样可以更轻松地保持模式的有序化。