在XQuery中省略空返回值

我有一个XQuery返回语句,如: return <li> <h3>{ string($TELECAST/title/maintitle) }</h3> <h4>{ string($TELECAST/title/subtitle) }</h4> <h5>{ string($TELECAST/title/description) }</h5> </li> 返回 {string($TELEC

在for循环中使用if条件的XQuery

我编写了xquery以正常方式返回结果 let $results := //data:data return <result> { for $i in $results return <documentInformation> <id>{data($i/DATA:ID)}</id> <status>{data($i/@status)}</status>

根据XQuery中的元素和属性有条件地创建格式化字符串

我正在尝试将xml文档转换为特定的选项卡分隔平面文件结构。大多数元素都可以映射到单列,或者使用fn:string-join()简单地连接起来,但是我有一些元素的映射更复杂。示例元素如下所示: <record> <details> <passports> <passport country="">0018061/104</passport> <passport country="UK">03

Xquery节点值,其中节点以相同文本开头

如何创建xquery以选择节点名称以文本开头的节点值。例如文档 <doc> <cpv1>Value1</cpv1> <cpv2>Value2</cpv2> <cpv3>Value3</cpv3> <zzz>Hello world!</zzz> </doc> 价值1 价值2 价值3 你好,世界! 它应该得到Value1、Value2、Value3这是

Xquery所有函数

这可能看起来是个愚蠢的问题,但我已经在谷歌上搜索了15分钟,似乎找不到我要找的东西。我需要确定对于给定谓词,特定集合中的所有节点是否都返回true。例如,如果我有一组整数节点,我可能想知道它们是否都大于5。这似乎很简单,但我似乎找不到一个关键字或函数来使用 谢谢。这些被称为量化表达式。从 量化表达式支持 存在与普遍 量化。价值 定量表达总是正确的 或者是假的 QuantifiedExpr::=(“一些”| “ExprSingle”中的“every”)“$”VarName (“ExprSingle

Xquery优化

我的xquery如下所示: declare variable $i := doc()/some-element/modifier[empty(modifier-value)]; $i[1]/../..; 我需要在Marklogic的Qconsole上运行这个查询,其中有721170811条记录。由于这是大量的记录,我得到超时错误。是否有任何方法可以优化此查询以获得结果 另外,我无法请求amdin增加超时时间 尝试创建元素范围索引(如果目标元素不唯一,则创建路径范围索引)并使用cts:value

如何在Xquery中添加for循环?

我对Xquery中的一个练习有问题 以下是练习: 如果所有课程的学额都完成了,那么每个以迈克尔名字开头的老师每个月都会得到什么(总数) 这是xml文件: <shop> <training> <course id="1"> <name>Java</name> <price fee="Monthly">27</price> <places>20</places

Xquery MarkLogic连接查询

嗨,我是marklogic和Xquery领域的新手。我想不出在MarkLogicXQuery中编写以下逻辑的起点。如果有人能给我想法/样品,我将不胜感激,这样我就能实现以下目标: 我想根据B.XML中的单词查找来查询A.XML。查询应生成C.XML。逻辑应如下所示: A.XML 2004年,诺基亚沃达丰(Nokia Vodafone)、诺基亚成长衰退(Nokia Growth Recession)、克里克特HBO(Creicket HBO)通过了第一项禁止在开车时使用手持手机的禁令 B.XM

向后遍历XQuery序列

为什么 for $i in (0 to 3) return element color {"red"} 返回 <color>red</color> <color>red</color> <color>red</color> <color>red</color> 不返回任何内容?(0到3)返回xs:integer 0到3的序列 …但是(3到0)返回空序列!(在第二个示例中,它迭代了零

Xquery 安全数据库中的域在MarkLogic中意外更改。现在无法访问管理界面

我正在用MarkLogic恢复一个数据库,不小心还更改了安全数据库。现在我无法使用以前的管理员用户名和密码登录到管理员界面。我仔细阅读了文档,了解到如果安全数据库中的领域发生了变化,就会发生这种情况。但没有提供解决方案。我已尝试卸载并重新安装MarkLogic,但由于这不会更改安全数据库,我仍然无法登录。我确信一定有办法重置我的登录凭据,但我找不到它。有人能建议我该怎么做吗?怎么样: 停止标记逻辑 移动所有数据 安装MarkLogic的干净副本 启动标记逻辑 如果您有安全数据库的备份,则首先

使用XQuery和Zorba更新多个XML文件

有没有一种简单的方法可以使用Zorba XQuery处理器更新多个XML文件并将修改的输出保存回同一个文件中 到目前为止,我已经了解了如何使用File模块和File:list扩展名处理多个文件,以查找目录中的所有XML文件。然后,我循环遍历每个文档并运行XQuery更新语句(将节点{}的值替换为{})。问题是,这实际上并没有修改文件 我以前使用过Saxon,但是对于这个特定的项目来说,许可成本太高了。在Saxon EE中,如果我在打开的文档上运行“replace value of node”,当

Xquery CTS搜索特定属性的唯一元素值

我正在寻找一个搜索例程,给我一个元素品牌的所有独特价值的列表,属性为“喜力”。所以在这种情况下,;罐头,板条箱 我尝试这样做: let $query := cts:element-attribute-values(xs:QName("p:brand"), xs:QName("name"), 'Heineken') for $temp in cts:search(fn:doc(), (cts:query($query))) return fn:distinct-values($temp) 为

BaseX:慢XQuery

我有一个BaseXXML数据库,包含大约20个XML文件。这些文件的大小和结构不同。最大的文件有524MB。它由一个带有267685个艺术子标签的父文章标签组成 这是我的XQuery:“/ARTICLE/ART[PRDNO=12345]”(非常简单;为了清晰起见省略了适当的名称空间)。PRDNO是PRODUCT/PRD XML结构的外键,每篇文章有多个(平均约10个)产品 一切都按预期进行,但是这个查询相当慢——执行大约需要1s。对数据库中其他对象(数据量较小)的类似查询要快得多 如何优化此查询

MarkLogic 8-使用文档管理和签出的XQuery

我尝试了下面提到的xquery。如果未管理文档,我希望使用DLS查询管理文档,否则我希望签出文档 xquery version "1.0-ml"; import module namespace dls = "http://marklogic.com/xdmp/dls" at "/MarkLogic/dls.xqy"; let $uri :="/root/189966_01.xml" let $i := dls:document-is-managed($uri) return if

XQuery:将XML转换为RDF

我正在尝试使用XQuery将XML转换为RDF(RDF/XML语法)。我想我遇到了一些我无法克服的事情 test.xqy: declare namespace rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"; declare namespace owl="http://www.w3.org/2002/07/owl#"; declare namespace xsd="http://www.w3.org/2001/XMLSchema#"; decl

如何在Marklogic XQuery中复制/克隆节点

我编写的代码需要返回XML节点的修改版本,而不更改父文档中的原始节点 如何复制/克隆节点,使原始上下文不会连接到该节点或受其影响?我不希望对此节点所做的更改会更改父文档中的原始节点,只希望更改函数返回的副本 我所寻找的与cts:highlight内部所做的工作非常相似: 返回节点的副本,替换与查询匹配的任何文本 使用指定的表达式。您可以使用此功能轻松地 突出显示查询中找到的任何文本。与fn不同:替换和其他 匹配文本的XQuery字符串函数,cts:高亮显示匹配项 与搜索匹配的每个术语,包括词干匹

XQuery(BaseX)中不同全文搜索方式的速度

我使用BaseX9.3.1访问大约45000个字典条目,其中包含大约100万个示例等,具有全文索引以及一个用于所有文本节点和属性的索引。到目前为止,情况很糟糕。访问节点获取语法或含义的速度相当快。然而,访问示例的速度非常慢,但仅在某些查询中,而不是在所有查询中。我试图找到下面的原因,但在BaseX文档或一些XQuery页面等方面没有成功。也许我只是没有看到树的森林。问题是: ft:search("myDatabase", "mySearchString") 速度非常快,响应时间不到一秒钟 ft

Xquery 返回不同节点的属性时出错

我的xml文件符合以下DTD: <!ELEMENT eprints (paper+)> <!ELEMENT paper (eprintsid,userid,dir,datestamp,type,author+,title)> <!ELEMENT eprintsid (#PCDATA)> <!ELEMENT userid (#PCDATA)> <!ELEMENT dir (#PCDATA)> <!ELEMENT datestamp

Marklogic Xquery搜索:搜索术语选项

下面的查询给了我错误的结果计数: <options xmlns="http://marklogic.com/appservices/search"> <constraint name="Keyword"> <range type="xs:string" facet="true" collation="http://marklogic.com/collation/"> <el

SOAPUI中带有XQuery的返回数组

我在SOAPUI中使用XQuery断言。我的XML响应如下: <Results> <ResultSet fetchSize="10"> <Row rowNumber="1"> <BANK_ACCT_NAME>BOA</BANK_ACCT_NAME> </Row> <Row rowNumber="2"> <

XQuery中量化表达式的语法错误,使用';有些是';

我试图找出以下查询的错误: for $item in doc("rss.xml")//item let $title := lower-case($item/title) let $description := lower-case($item/description) where contains($title, "keyword") or contains($description, "keyword") or some $category in $item/category

为xquery中的变量分配运算符

在Xquery中,有没有一种方法可以将数字运算符指定给变量 我必须根据节点标记对给定的一对值执行算术表达式 我已经设法做到了这一点,但它导致了大量重复的代码。我希望简化查询,以代替: 添加函数 重复的if代码-调用其他函数,但仍然重复 $value1+$value2 负号函数 重复的if代码 $value1-$value2 乘、除等 我想设置一个函数并向其发送一个变量,类似于: $value1$operator$value2 在xquery中有没有一种简单的方法可以做到这一点 谢谢您的帮助。为什

Marklogic:在同一次运行中使用xquery插入和检索文档

使用xquery在Marklogic中需要类似的东西。 获取位置中存在的文档,如果不存在,请使用xdmp:document-insert()创建文档,然后使用fn:doc()检索文档 在第一次运行时,文档不存在。因此,它创建文档,但不获取任何内容。在第二次运行中,将检索在第一次运行中创建的文档。但是,我想在同一次跑步中同时做这两件事 我知道我错过了一些简单的东西。单笔交易是否如此?这两条语句都在单独的行中,因此不确定这是否是一个单独的事务案例 declare function lk:cr

如何使用XQuery更改XML结构

我有一个XML文件,其中包含员工姓名和他们所做的工作。 XML文件的结构是- <Employee>AAA@A#B#C#D</Employee> <Employee>BBB@A#B#C#D</Employee> <Employee>CCC@A#B#C#D</Employee> <Employee>DDD@A#B#C#D</Employee> AAA@A#B#C#D BBB@A#B#C#D CCC@A#

在XQuery中是否存在“按优先级连接”等效项?

我使用的是BaseX,它支持XQuery 3.0 假设我有一个这样的数据集,按的值排序: 1. 2. 2. 4. 5. 6. 我希望通过端点和起点值连接这些元素,并将连接元素分组在一起: <block> <start>1</start> <end>4</end> </block> <block> <start>5</start> <end>6</end

marklogic 8:计划Xquery提取

我目前正在使用Xquery查询(通过API启动)从Marklogic 8.0.6中提取数据/ 在我的文件中查询提取数据。xqy: xdmp:save("toto.csv",let $nl := "&#10;" return document { for $data in collection("http://book/polar") return ($data) }) API调用: $curl --anyauth --user ${MARKLOGIC_USERNAME}:${MA

Xquery 在日期的MarkLogic中设置动态带扣约束

在我的数据库中,我有一个包含xs:dates的路径范围索引 <date>2019-01-01</date> 我的问题是,我想动态地更新bucket,将当前年份计算为季度bucket,接下来的几年都是这样。我有一个当前带扣范围约束: <constraint name="date"> <range type="xs:date" facet="true"> <path-index>/data/date</pat

Xquery中XSLT样式的小型转换?

目前在Xquery 3.1(在eXist 4.7中)中,我接收到如下XML片段(来自eXist的Lucene全文搜索): let$text:= 有一些 某些元素中的文本 这些都需要进行Lucene搜索 并经常产生 成功。 目前,我让Xquery将此片段发送到XSLT样式表,以便将其转换为HTML,如下所示: <td>...elements which are subject <span class="search-hit">to</span> a Lucen

为什么XQuery中的数值文本永远不能是xs:positiveInteger类型?

我注意到XQuery实现在处理(子)类型方面的细微差别。特别是,将文字数字作为输入处理到已声明接受输入类型的函数。 我天真地认为,任何可转换为特定数字类型的数字文字都会被接受 declare function local:any ($n as xs:anyAtomic) { $n }; declare function local:decimal ($n as xs:decimal) { $n }; declare function local:integer ($n as xs:integer

Xquery 运行mlunittest时发生java.nio.file.NoSuchFileException

运行mlunittest时引发以下错误 任务“:mlUnitTest”的执行失败 java.nio.file.NoSuchFileException:build\test results\marklogic unit test\test-SampleTestSuite.xml 问题只是将测试结果写入构建目录。 在运行mlunittest时,使用-punitestResultsPath参数将测试结果写入其他目录问题只是将测试结果写入生成目录。 运行mlunittest时,使用-punitestre

Xquery 尝试删除MarkLogic中的集合时出现超时错误

我正试图通过查询控制台使用xdmp:collection delete函数删除MarkLogic中的集合,但出现超时异常: SVC-EXTIME:xdmp:collection delete(“”)——超出了时间限制 这个集合包含大约150000个文档,都是小文档。有人能帮忙吗 在管理控制台中,时间设置为3600。我尝试使用xdmp:spawn函数批量删除它,但出现语法错误: “意外的Lbrace,应为逗号或Rpar”:xquery版本“0.9-ml”将变量$uriMatch定义为xs:stri

通过XQuery删除节点但保持内部值不变

我有一个content.xml模型,如下所示 <root> <childnode> Some text here </childnode> </root> 提前感谢您的查询存在多个问题: 更新函数必须声明为正在更新。 您正在调用定义之外的另一个函数,可能您没有注意到,因为仍然存在语法错误。 重命名节点需要某些元素或处理指令、属性作为目标,不允许使用空字符串。 将代码定义为XQuery 1.0时,至少BaseX不允许更新语句。也许e

Xslt键函数的Xquery函数

我想将xslt键函数转换为Xquery函数。 有人能帮我吗 如果我们有xsl:key指令: <xsl:key name='someName' match="patExpr" use="Expr"/> key('someName', someExpr, $someDocNode) ($someDocNode//patExpr)[Expr = someExpr] <xsl:key name='kNameByVal' match='Name' use='.'/>

Xquery 在DbXML中排序时对数据进行优先级排序

在DBXML中使用XQuery,我希望根据设置为特定值的多个节点对某些元素进行优先级排序 我想在顶部和下面分别展示其中的三个元素 <properties> <property> <zip_code>5550</zip_code> <agency>ABC</agency> </property> <property> <zip_code&

Xquery 如何在marklogic中删除数据库中的标点符号?

我想删除marklogic中xml文档数据库中的标点符号。这是为了机器学习的预处理目的。我是marklogic的新手,不知道怎么做。是否存在可以删除标点符号的xquery查询?我不确定这是否是您要问的问题,但从技术上讲,可以更新数据库中的每个文档以删除标点符号;然而,它非常昂贵,我不推荐它 通过使用内置的搜索功能,您可能可以通过使用标点符号不敏感的查询来实现相同的目标,而无需更新文档。例如,如果要选择标题与不区分大小写字符串匹配的文档: cts:search(//mydoc, cts:ele

Xquery 如何从外部模块导入外部变量和函数?

test2.xqy: import module namespace myNS = "http://test.org/module1" at "./namespace.xqy"; element test { } namespace.xqy: module namespace myNS = "http://test.org/module1"; declare variable $myNS:srcDoc:="test2.xml"; declare variable $myNS:defaul

BaseX—在XQuery中使用封闭xml时内存不足

我一直在尝试查询一个包含超过1500000项的BaseX数据库。 当我运行此查询时 for $item in collection('coll')//item return $item (: returns an xml element :) 它在不到一秒钟的时间内执行 但是,当我尝试以xml形式返回结果时,会出现“内存不足”错误 { 对于集合('coll')//项中的$item 退货$item } 这让我想放弃原生XMLDB方法(其他数据库也会如此,比如eXistDB),因此如果有

XQuery将变量作为数字进行比较

我想制作一个XQuery,输出三张CD的价格,减去最便宜CD的价格。我生成了一个用户定义的函数sumtwomax(),它接受三个整数参数,并生成最大两个数的和。当我给它提供数字时,它就起作用了。 但是,当从FLWOR表达式向它提供变量时,我遇到了一个问题。有人能帮我吗 以下是我的XML代码: <items> <item> <code>c002</code> <price>10</price> &l

Xquery在if条件内设置全局变量

我们有以下投入 <root> <Input>1010</Input> <ReadInput>a123c123</ReadInput> </root> 因此,以下输出: 输出 <Result> <AAAA>a123</AAAA> <CCCC>b123</CCCC> </Result> a123 b123 现在的问题是,我有所有26个元素到Z。所以,

Xquery 如何在Data Hub Framework中从Collector.xqy执行任何更新语句?

我有一个完整的逻辑,在这个逻辑中,首先我需要修改或删除暂存数据库和最终数据库中的文档,最后我需要将过滤后的数据插入DataHub Framework中的最终数据库 我在collector.xqy中标记了我的代码,但它说无法从查询中应用更新功能 代码如下- let $a := for $i in cts:search(doc(),cts:collection-query(("ABC"))) return let $uri := fn:base-uri($i) let $

XQuery-输出带有分隔符的HTML元素系列

在XQuery3.1中,我正在构造一个HTML表。在一个元素中,我输出了一系列 因此,目前针对的这一简单的: <td> { for $b in collection($globalvar:URIdata)/tei:TEI/tei:text//tei:seg[@type="dep_event" and @corresp = $a/data(@corresp)

Xquery eXist db-在自动文件创建中向XML文件添加序言?

在eXistDB(4.7)中,我有一个很长的TEI-XML文件,我正在从中创建数千个唯一的TEI-XML文件。我使用的函数如下: let $list := doc(concat($globalvar:URIdata,"list_collections.xml")) let $makefile := for $bib in $list//tei:bibl[@type="collection"] let $newdoc :=

XQuery错误:使用返回空结果的变量进行筛选

我尝试运行以下XQuery: let $d := doc("ferry.xml") let $x := $d/ferry/trips/trip[@depart='08:00' and start='Stockholm']/captain[@crew] return $d/ferry/crews/crew[@crewID=$x]/name 并得到一个空结果 我想获取中的值,其中(=Jill) 我可以看到,$x包括和运行时 return$d/ferry/crews/crew[@crewID='JI

如何在marklogic xquery中将map变量传递给外部函数,如eval和invoke

xdmp:eval($s,(),“world”) 我希望将map作为参数传递给外部函数,而不是将默认值作为上述代码中的第二个参数。如果$s具有例如声明变量$v1 external在序言中,然后我认为您可以使用xdmp:eval($s,map:new(map:entry({}v1',some expression)),或者,正如注释中指出的,甚至可以使用xdmp:eval($s,map:new(map:entry({v1',some expression)))将计算结果作为变量值传递给某些表达式$

上一页   1   2   3   4   5    6  ... 下一页 最后一页 共 29 页