Marklogic 6: Dls 版本恢复问题
Marklogic 6: Dls version restoring issue
您好,我已经使用了下面提到的 dls 功能。但我在结果中遇到了一些错误 window.Please 建议我有什么遗漏吗?
xquery version "1.0-ml";
import module namespace dls = "http://marklogic.com/xdmp/dls"
at "/MarkLogic/dls.xqy";
dls:document-update(
"/foo/bar/baz.xml",
错误
[1.0-ml] XDMP-DUPATTR: (err:XQDY0025) $child -- Two attributes with the same name
Stack Trace
In /MarkLogic/dls.xqy on line 1386
In add-xml-base(fn:doc("/foo/bar/baz_xml_versions/1-baz.xml")/ca, "/foo/bar/baz.xml")
$node := fn:doc("/foo/bar/baz_xml_versions/1-baz.xml")/ca
$uri := "/foo/bar/baz.xml"
$child := fn:doc("/foo/bar/baz_xml_versions/1-baz.xml")/ca/@xml:base
似乎是基于 xml-base 名称的错误,该名称在 Marklogic/dls.xqy 文件中可用。在 dls.xqy 文件中的函数 add-xml-base 中,检查 return 输出之前可用的任何条件 value.The 条件应检查 xml 基本名称和名称与 return 输出值不匹配。以下示例将解决您的问题。
declare private function add-xml-base(
$node as node(),
$uri as xs:string)
{
element { fn:node-name($node) } {
(
attribute xml:base { $uri },
for $child in ($node/@*, $node/node())
where (fn:name($child) ne "xml:base")
return $child
)
}
};
您好,我已经使用了下面提到的 dls 功能。但我在结果中遇到了一些错误 window.Please 建议我有什么遗漏吗?
xquery version "1.0-ml";
import module namespace dls = "http://marklogic.com/xdmp/dls"
at "/MarkLogic/dls.xqy";
dls:document-update(
"/foo/bar/baz.xml",
错误
[1.0-ml] XDMP-DUPATTR: (err:XQDY0025) $child -- Two attributes with the same name
Stack Trace
In /MarkLogic/dls.xqy on line 1386
In add-xml-base(fn:doc("/foo/bar/baz_xml_versions/1-baz.xml")/ca, "/foo/bar/baz.xml")
$node := fn:doc("/foo/bar/baz_xml_versions/1-baz.xml")/ca
$uri := "/foo/bar/baz.xml"
$child := fn:doc("/foo/bar/baz_xml_versions/1-baz.xml")/ca/@xml:base
似乎是基于 xml-base 名称的错误,该名称在 Marklogic/dls.xqy 文件中可用。在 dls.xqy 文件中的函数 add-xml-base 中,检查 return 输出之前可用的任何条件 value.The 条件应检查 xml 基本名称和名称与 return 输出值不匹配。以下示例将解决您的问题。
declare private function add-xml-base(
$node as node(),
$uri as xs:string)
{
element { fn:node-name($node) } {
(
attribute xml:base { $uri },
for $child in ($node/@*, $node/node())
where (fn:name($child) ne "xml:base")
return $child
)
}
};