小编Ant*_*ony的帖子

Marklogic - 使用get属性值的Xpath

我在下面显示了示例Xml数据,如果title lang ="it"那么我想得到类别属性值?

<book category="CLASSICS">
  <title lang="it">Purgatorio</title>
  <author>Dante Alighieri</author>
  <year>1308</year>
  <price>30.00</price>
</book>
Run Code Online (Sandbox Code Playgroud)

xpath marklogic

3
推荐指数
1
解决办法
305
查看次数

Marklogic:使用删除处理指令标记的 Xpath

如何使用XQuery删除xml中的处理指令标签?

XML 示例:

<a>
    <text><?test id="1" loc="start"?><b type="bold">1. </b>
    Security or protection <?test id="1" loc=="end"?><?test id="1" loc="start"?><b type="bold">2.
    </b> Analyse.
    <?test id="1" loc="end"?></text>
  </a>
Run Code Online (Sandbox Code Playgroud)

预期输出:

 <a>
     <text><b type="bold">1. </b> Security or protection <b type="bold">2.
     </b> Analyse.</text>

  </a>
Run Code Online (Sandbox Code Playgroud)

请帮助删除 PI 标记。

xpath xquery marklogic

3
推荐指数
1
解决办法
135
查看次数

如何在MarkLogic 6中执行不区分大小写的匹配

嗨,我在MarkLogic中使用了cts搜索和XPath查询,并且还使用了多个参数。我需要同时捕获大写字母和小写字母(在XML搜索中)。

样本XML

<PP uri="/2000_4_174.xml">
  <P name="jur" value="ht"/>
  <P name="sitting" value="17 AUGUST"/>
  <P name="startpage" value="174"/>
</PP>
Run Code Online (Sandbox Code Playgroud)

我的XQuery

let $attr1  := "JUR"
let $attr2  := "startpage"
let $value1 := "ht"
let $value2 := "174"

let $uri := //PP[P[@name=$attr1 and @value=$value1] and   P[@name=$attr2 and @value=$value2]]/@uri
return $uri
Run Code Online (Sandbox Code Playgroud)

当$ attr1值为jur时,查询成功运行,但是我想提供大写或小写形式的值。请让我知道任何选择。

注意:更改归类cts后,搜索可以同时使用大写和小写字母,但XPath查询不起作用。

xpath xquery marklogic

2
推荐指数
1
解决办法
126
查看次数

如何使用xpath获取具有属性的父元素

我已经发布了示例 XML 和预期的输出有助于获得结果。

示例 XML

<root>
  <A id="1">
    <B id="2"/>
    <C id="2"/>
  </A>
</root>
Run Code Online (Sandbox Code Playgroud)

预期输出:

<A id="1"/>
Run Code Online (Sandbox Code Playgroud)

xpath xquery marklogic

2
推荐指数
1
解决办法
2052
查看次数

如何在MarkLogic数据库服务器中启用Collection lexicon

您能否提供查询以启用收集词典.

我使用过这种编码,但我遇到了同样的问题.

xquery版本"1.0-ml";

  import module namespace admin = "http://marklogic.com/xdmp/admin"
          at "/MarkLogic/admin.xqy";

  let $config := admin:get-configuration()
  return
  admin:database-set-collection-lexicon($config,
        xdmp:database("myDatabase"), fn:true())
Run Code Online (Sandbox Code Playgroud)

谢谢!

marklogic

2
推荐指数
1
解决办法
65
查看次数

Marklogic - 内存节点替换问题

我正在使用mem:node-replace来替换内容。但它花费了太多时间。我遇到了超时错误。有什么替代方法吗?

找到示例 Xquery:

xquery version "1.0-ml";
declare namespace html = "http://www.w3.org/1999/xhtml";
import module namespace mem = "http://xqdev.com/in-mem-update" 
  at '/MarkLogic/appservices/utils/in-mem-update.xqy';


let $uri := cts:uri-match((concat('*',$id ,'*')),(),cts:collection-query($collection))
let $data := doc($uri)
let $final := mem:node-replace($data//title[@id='2'],doc($uri1)//title[@id='2'])
return (
  xdmp:document-insert('/test/sample.xml',$final)
)
Run Code Online (Sandbox Code Playgroud)

xquery marklogic

2
推荐指数
1
解决办法
504
查看次数

Marklogic - 如何在 Xquery 中分配动态变量

我尝试过下面提到的 XQuery 。

declare variable $path  as xs:string :="D:\Mongo\";

    let $uri :="/MJ/1932/Vol1/Part1/387.xml"
    let $x := fn:normalize-space(fn:replace($uri,"/"," "))
    for $i in fn:tokenize($x, " ")
    let $j := fn:concat($path,$i)
    return($j)
Run Code Online (Sandbox Code Playgroud)

实际产量

    D:\Mongo\MJ
    D:\Mongo\1932
    D:\Mongo\Vol1
    D:\Mongo\Part1
    D:\Mongo\387.xml
Run Code Online (Sandbox Code Playgroud)

预期产出

D:\Mongo\MJ
D:\Mongo\MJ\1932
D:\Mongo\MJ\1932\Vol1
D:\Mongo\MJ\1932\Vol1\Part1
D:\Mongo\MJ\1932\Vol1\Part1\387.xml
Run Code Online (Sandbox Code Playgroud)

请建议我如何更改动态变量值。

xquery marklogic marklogic-8

1
推荐指数
1
解决办法
4004
查看次数

Marklogic - 如何在cts:uris中添加集合名称

查询:

let $collection := "sampledata"

for $uri1 in cts:uris((),(),( 
cts:element-query(xs:QName("root"),
cts:and-query((
cts:element-attribute-value-query(xs:QName("root"),xs:QName($value1),$value2),
cts:element-attribute-value-query(xs:QName("root"),xs:QName($value3),$value4),
cts:element-value-query(xs:QName("year"),$value5),
cts:element-value-query(xs:QName("month"),$value6),
cts:element-attribute-value-query(xs:QName("num"),xs:QName("value"),$value7)
)))) )

return $uri1
Run Code Online (Sandbox Code Playgroud)

如何在上面提到的xquery中添加集合名称.

xpath xquery marklogic

1
推荐指数
1
解决办法
84
查看次数

如何在Marklogic中处理不区分大小写的字符

我正在使用,fn:distinct-values但是遇到了区分大小写的问题。

我需要删除MarkLogic db中的重复值。

 Result :
    Antony
    antony
Run Code Online (Sandbox Code Playgroud)

但我想得到一个结果,且没有任何重复:

安东尼或安东尼。

xquery marklogic

1
推荐指数
1
解决办法
158
查看次数

Marklogic - 如何在XQuery中删除新的行char问题

如何删除新行字符.

Sample Code.

    let $b := <root><title>Fees • Levies<?brk type="line"?>
    Other file</title></root>
    return replace($b//title/text(),'\n','')

Expected Output :
Fees • Levies Other file
Run Code Online (Sandbox Code Playgroud)

xquery marklogic

1
推荐指数
1
解决办法
427
查看次数

标签 统计

marklogic ×10

xquery ×8

xpath ×5

marklogic-8 ×1