尝试将转换应用到搜索结果时的错误
问题描述:
编辑︰我做了一些更多的调试,并且当我尝试安装转换,而不是使用它时,实际上会引发错误。但是,当我搜索我的数据库时,我可以在那里找到脚本。尝试将转换应用到搜索结果时的错误
我使用的Java API和Marklogic版本8
我写了一个XQuery转换时,他们通过搜索检索修改证件。我写了查询控制台,证实它做了什么,我也想,但现在我有一个文件,我想在我的应用程序中使用它,我得到以下错误:
Server Message: RESTAPI-INVALIDCONTENT: (err:FOER0000) Invalid content: invalid xml_to_string extension: xml_to_string either is not a valid module or does not provide extension functions (transform) in the http://marklogic.com/rest-api/transform/xml_to_string namespace
我非常接近文档,关于如何安装和使用转换,所以我不确定问题出在哪里,除了可能在脚本本身。代码如下:
xquery version "1.0-ml";
module namespace xmlTrans =
"http://marklogic.com/rest-api/transform/xml_to_string";
declare function xmlTrans:xmlToString(
$context as map:map,
$params as map:map,
$fullDoc as document-node()
) as document-node()
{
if(fn:empty($fullDoc/*)) then $fullDoc
else (
let $root := $fullDoc/*
let $contentArray := $root/contents
return document
{
element {fn:name($root)}
{
$root/@*, $root/element()[fn:not(fn:name(.) eq "contents")],
element contents
{
for $contentEle in $contentArray/content
return(
if($contentEle/@type = "paragraph") then (<content type="paragraph"><paragraph>{xdmp:quote($contentEle/paragraph/*)}</paragraph></content>)
else ($contentEle)
)
}
}
}
)
};
在我的语法中是否有什么问题阻止Marklogic将其识别为转换?
答
REST API扩展遵循约定优先配置方法。
变换扩展必须包含一个名为函数“改造” - 看到:
http://docs.marklogic.com/guide/rest-dev/transforms#id_17421
此外,REST API扩展安装,即使它检测到的错误。
希望澄清,
我花了几个小时在文档和谷歌,不知何故错过了。我想尖叫。谢谢! –
我们都去过很多次了。感谢坚持。 – ehennum