JSON格式的extract-document-data选项节点抛出"不平衡对"使用多个提取路径时出错

时间:2015-05-16 13:51:24

标签: json marklogic

当使用包含多个提取路径的查询选项节点时,MarkLogic REST客户端API的默认搜索端点会导致服务器错误,即使在提取文档中单独使用提取路径时请求成功-data:

{"errorResponse":{"statusCode":500, "status":"Internal Server Error", "messageCode":"RESTAPI-INTERNALERROR", "message":"RESTAPI-INTERNALERROR: (err:FOER0000) Internal error:  JSON build, unbalanced pairs: "}}

违规路径:

<extract-path xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:FO="http://founders.archives.gov/">/tei:text/FO:metadata/FO:ProjectCode</extract-path>

<extract-path xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:FO="http://founders.archives.gov/">/tei:text/FO:metadata/FO:ShortProjectTitle</extract-path>

仅在格式为JSON时发生 - XML格式按预期运行。可以跨不同的数据集重现此错误。

整个选项节点:

<options xmlns="http://marklogic.com/appservices/search">
  <search-option>unfiltered</search-option>
  <quality-weight>0</quality-weight>
  <page-length>10</page-length>
  <extract-document-data selected="include">
    <extract-path xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:FO="http://founders.archives.gov/">/tei:text/FO:metadata/FO:ProjectCode</extract-path>
    <extract-path xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:FO="http://founders.archives.gov/">/tei:text/FO:metadata/FO:ShortProjectTitle</extract-path>
  </extract-document-data>
</options>

我只需要提取父元素FO:metadata;但是,它返回一个字符串,表示对解析库的依赖(不是吗?),如果可能的话我宁愿避免。

任何建议的解决方法都表示赞赏。感谢。

1 个答案:

答案 0 :(得分:2)

内联响应存在一个已知错误,应在8.0-3中修复。

在此期间,它应该能够将提取的片段作为XML或多部分/混合响应(如果源文档是XML也是XML),那么它就可以了。