草庐IT

MarkLogic

全部标签

xml - 如何将属性添加到节点的所有特定子节点

我有以下节点,我想在其中向所有add节点添加属性。x1x2x我试过了functx:add-attributes($test,xs:QName('att1'),1)它可以将属性添加到test节点。但是当我尝试过functx:add-attributes($test/add,xs:QName('att1'),1)它将属性添加到第一个添加节点,但只返回具有添加属性的添加节点。然后,当我尝试使用$test//add时,它会抛出错误。当我尝试过for$addin$test//addreturnfunctx:add-attributes($add,xs:QName('att1'),1)它分别返回两

json - extract-document-data 作为 json 输出中的 xml 字符串元素出现

我正在尝试使用“匹配”文档中的一些元素来丰富我的搜索结果,使用查询选项“extract-document-data”,例如/language-version/language-version-canonical-model/title/language-version/language-version-canonical-model/language(...)当我运行搜索并请求Json输出(使用headerAccept:application/json)时,我得到的是json和"strinxml”结果:{"snippet-format":"snippet","total":564,"s

java - 如何在 XQuery 中使用或实现数组?

XQuery是否内置了对数组的支持?例如,如果我们想实现xquery中的简单java程序我们将如何做:(我不是要求将整个程序翻译成xquery,而是要求如何将下面代码第2行中的数组实现到xquery?我是还使用marklogic/xdmp函数)。java.lang.Stringtest=newString("HelloXQuery");char[]characters=test.toCharArray();for(inti=0;i 最佳答案 将示例代码转换为XQuery的问题不是不支持数组,而是x00不是XML中的有效字符。如果不是

xml - MarkLogic:使用 cts:search 查找没有文本的元素

我想找到在特定元素中没有任何文本的所有文档-这有效但非常慢:let$not-empty:=for$iincts:search(//foo[@class="bar"][text()[not(.='')]],cts:and-query(()))returnbase-uri($i)如何有效地使用索引来搜索没有文本节点且文本节点不包含任何字符的元素? 最佳答案 使用更简单的可搜索路径和更复杂的查询,搜索将运行得更快。我认为这是使用cts函数可以获得的最接近的结果:cts:search(//foo,cts:and-query((cts:ele

xml - 如何对路径范围索引元素进行排序?

我有一个元素DateTimeList,其第一个子元素的PathRangeIndex如下:/ResultPage/DateTimeList/DateTime[1]通常我们对具有属性的元素进行如下排序:是否有任何类似的方法来排序DateTimeList元素,使用它的第一个子元素(使用路径范围索引)。我试过如下:/ResultPage/DateTimeList/DateTime[1]但得到的结果没有变化如下:2014-05-07T10:26:002013-12-01T00:00:002014-05-01T00:00:002014-12-01T00:00:002013-09-01T10:32:

xml - 在 marklogic 服务器中获取不同的结果集

我有一个这样的XML文档。R.NTagoreGitanjliPremchandPanchParameshvarH.RBacchanMadhushalaPremchandGabanPremchandNirmalaPremchandNirmala从上面的XML中,我需要不同的作者姓名列表。为此,我可以编写一个查询,如,fn:distinct-values(cts:search(fn:doc()//pa:Author/pa:name,cts:and-query(())))上面的代码会做的是,它将获得作者姓名的结果,然后fn:distinct-values()函数将从该结果集中过滤不同的作者姓

javascript - 如何将对象转换为节点

我想将一些文档属性(在xml中)作为节点使用,以便我可以使用子元素。到目前为止,我有:varcounts=[];for(varpofxdmp.documentProperties(uris)){varisANode=pinstanceofNode;//false(actuallytrue-seeedit)varcount=xdmp.xqueryEval('fn:count('+p+'//data)')counts.push(count)}counts我看过nodebuilderMarkLogic文档中的示例,我想使用该界面。例如myNode.xpath('//data')varchil

xml - XQuery 中基于变量的动态排序(排序依据)

我正在尝试在XQuery中实现动态排序。我目前正在使用Saxon-PE9.5进行开发,但将在eXist和marklogic中使用XQuery(或复数xqueries),因此使用它们的模块/函数的任何答案都很好(希望其他数据库将具有相应的模块/函数).排序基于包含字符串序列的变量。序列中的每个字符串都是一个元素的名称和一个可选的“降序”。我已经尝试了多种方法,但无法让任何东西按预期方式工作;特别是对于二次排序。在下面的示例中,排序是静态的,并且具有主要排序c(升序)和次要排序b(降序)...so_xquery_question.xmla1b1c0a2b2c0a3b3c3XQuerylet

xml - 如何在xQuery中获取没有 child 的节点?

所以我有两个元素节点,我实际上是在尝试加入这些节点。我希望顶级节点保持不变,但子节点将被那些交叉引用的节点替换。给定:barbaz我想循环遍历“list”并交叉引用“stuff”中的元素以获得此结果:我想这样做而不必知道“列表”上可能有哪些属性。换句话说,我不想像attributea{$list/@a},attributeb{$list/@b} 最佳答案 使用:$list1/item[@foo=$list2/item/@foo]这将选择所有$list1中的元素谁的值(value)foo属性等于foo之一的属性$list2中的元素。为

java - MarkLogic 到 Java & 返回解决方案

我需要从MarkLogic服务器查询XML并将其编码为Java对象。解决这个问题的好方法是什么?具体来说:使用MarkLogic对XML技术栈有什么影响吗?(即,MarkLogic是否有什么东西可以导致一种不同的方法来搜索、阅读和编写XML片段?)我应该使用XMLAPI之一自己处理XML还是有更简单的方法?是否值得为此使用JAXB?有人问了一个很好的问题,为什么我要使用Java。我正在使用Java/JavaEE,因为我最擅长该语言。这是一个单人项目,我不想被困在任何地方。该项目旨在开发Web服务API以及数据处理和转换(CSV到XML)功能。Java/JavaEE可以很好地做到这一点。