使用查询控制台编辑时 MarkLogic 10 文档格式发生变化
MarkLogic 10 document format change when editing with Query Console
升级到 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 步,现在文档格式更改为“文本节点”。
关于我们如何避免这种情况的任何建议?
这是由于查询控制台中的一个错误,在该错误中,URI 中没有文件扩展名的文档被保存为 text()
。它将在未来的 MarkLogic 版本中解决。
目前,避免对 URI 没有文件扩展名的文档使用查询控制台编辑功能,或者考虑为此类 XML 文档应用“.xml”后缀。
升级到 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 步,现在文档格式更改为“文本节点”。
关于我们如何避免这种情况的任何建议?
这是由于查询控制台中的一个错误,在该错误中,URI 中没有文件扩展名的文档被保存为 text()
。它将在未来的 MarkLogic 版本中解决。
目前,避免对 URI 没有文件扩展名的文档使用查询控制台编辑功能,或者考虑为此类 XML 文档应用“.xml”后缀。