首页 > 解决方案 > 使用查询控制台编辑时 MarkLogic 10 文档格式更改

问题描述

升级到 MarkLogic 10 后,我们看到查询控制台出现问题,如果我们从 QC 编辑文档格式,文档格式会发生变化。

重新创建的步骤:-

第 1 步:- 使用 QC 插入一个小的 XML 文档

xquery version "1.0-ml";
let $doc := 
<Football>
<Team><ManchesterUnited> United finished 2nd in PL </ManchesterUnited></Team>
</Football>
for $i in 1 to 5
return xdmp:document-insert ('/England/PL/ManchesterUnited/'||$i||'', $doc)

第 2 步:- 检查一个文档格式,如下所示

let $x:= doc("/England/PL/ManchesterUnited/1")/node()
return
typeswitch ( $x )
 case element() return "xml element node"
 case text() return "text node"
 case binary() return "binary node"
default return "don't know"

输出将是“xml 元素节点”

第 3 步:- 从查询控制台编辑文档,单击“编辑”,然后更改元素值。

例如

<ManchesterUnited> United finished 2nd in PL </ManchesterUnited>

<ManchesterUnited> Manchester United are the new champions </ManchesterUnited>

第 4 步:- 再次运行第 2 步,现在文档的格式更改为“文本节点”。

关于我们如何避免这种情况的任何建议?

标签: marklogicmarklogic-10

解决方案


这是由于查询控制台中的一个错误,其中 URI 中没有文件扩展名的文档被保存为text(). 它将在未来的 MarkLogic 版本中解决。

目前,避免对 URI 没有文件扩展名的文档使用查询控制台编辑功能,或者考虑为此类 XML 文档应用“.xml”后缀。


推荐阅读