MarkLogic9及以上版本不再支持xcc连接for.NET应用程序,应使用rest api。
我一直在做一个POC,并通过为每个数据库创建REST API实例的REST API来公开我的数据库实例。我还可以使用GET执行简单的搜索查询。我还使用了PUT和DELETE。
我的问题是将现有的xml查询转换为140+正文。有一个例子here,但使用了一个简单的cts查询,我想要一些帮助转换成xml body更复杂的查询-这样我就可以使用这些对我创建的应用程序接口。
前面的例子:
如何用xml编写这个cts查询?
<ArrayOfRecord>
{{
cts:search(collection('Records{0}')/Record,
cts:and-query((
cts:element-range-query(xs:QName('CreatedOn'), '>=', xs:dateTime('{1}')),
cts:element-range-query(xs:QName('CreatedOn'), '<=', xs:dateTime('{2}')),
cts:path-range-query('/Record/IsLatestVersion', '=',
'{3}')additionalQueries)))
}}
</ArrayOfRecord>谢谢
发布于 2018-02-01 02:53:35
您所展示的是一个搜索,而不仅仅是cts:query,但是如果您只想将一个cts:query序列化为XML,那么可以使用如下技巧:<wrapper>{your query constructor here}</wrapper>。
例如:
xquery version "1.0-ml";
<wrapper>{cts:word-query("foo")}</wrapper>/*另一种可能是使用REST客户端API eval端点,这可能与Dave Cassel对您的建议过于相似。您可以使用它来执行即席XQuery (或服务器端JavaScript),就像启用XCC一样。看看这个:http://docs.marklogic.com/REST/POST/v1/eval
https://stackoverflow.com/questions/48521410
复制相似问题