Oracle服务总线中的xquery替换问题

在Oracle Service Bus xquery转换中,我尝试使用replace函数将两个反斜杠替换为一个反斜杠: 让$str:=replace($srcStr,“\\\\”,“\\”),其中$srcStr包含值“^\\d{1,4}$” 但由于某些原因,这不起作用。结果仍然是“^\\d{1,4}$” 当我在Altova XmlSpy中调用同一个函数时,这很好:replace(“^\\d{1,4}$”,“\\\”,“\\”)结果是^\d{1,4} 有人知道为什么OSB与源字符串中的反斜杠不匹配

xQuery应用程序范围变量?

是否有方法在应用程序范围中声明变量。这个变量应该留在内存中,为所有请求提供服务,而不需要为每个请求创建它。类似于会话,但它与特定用户无关 我要找的是类似于php APC缓存的东西。因为这被标记为“marklogic”,我将提供marklogic非标准答案。 基于标准的答案是“否”或“问题超出范围”,因为XQuery没有定义“应用程序范围”(超出顶层模块语句的执行范围——在某些上下文中可以称为“应用程序范围”) 在MarkLogic中,有一个受支持的功能叫做“会话”; 用于响应通常称为“会话”的w

XQuery:如何连接两个构造函数作为回报?

我有一个包含构造函数的函数: declare function local:Construct ($id) { <tag id="{$id}"/> } 这很有效 现在我想连接两个这样的结构 for $val in ... ... return local:Construct(data($val/id1)) + local:Construct(data($val/id2)) 加号当然是错的。我应该使用什么来代替?我假设您希望为每个$val返回两个节点,在这种情况下,您希望使用,

XQuery更新:根据节点是否存在插入或替换不可能?

我正在尝试构建简单的XML数据库(在BaseX或eXist db中),但我无法确定如何修改文档中的值: 测试内容如下: <p> <pl> <id>6></id> </pl> </p> 然后我得到错误:[XUST0001]如果表达式:不允许更新表达式 当我尝试声明更新函数时,即使它报告错误: declare namespace testa='test'; declare updatin

XQuery中变量“per”不在范围内错误

当我试图在Java中执行下面的代码时,我遇到了“not in scope error”错误中的“Variable” String xq = "declare variable $per1 as document-node(element(*, xs:untyped)) := " + "fn:parse-xml($per);" + "declare variable $job1 as document-node(element(*, xs:untyped)) := fn:parse

Xquery中的标记化

如何在xquery中标记特殊字符,如“&”和“?”。当我试图标记这些特殊字符时,我无法做到这一点。你能建议我澄清这个问题吗?在XML中,你必须避开符号 tokenize($string, "&amp;") 或者,您也可以使用其unicode代码点: tokenize($string, codepoints-to-string(38)) 在XML中这样做时,必须避开符号 tokenize($string, "&amp;") 或者,您也可以使用其unicode代码点: toke

Xquery 避免XDMP-EXNTREECHACHEFULL和加载文档

我使用的是MarkLogic4,我有大约15000个文档(每个文档大约10KB)。我想将整个内容作为文档加载(并将全部文档转换为单个csv文件,并输出到HTTP输出流以供下载)。当我以这种方式加载文档时: let $uri := cts:uri-match('products/documents/*.xml') let $doc := fn:doc ($uri) xpath有大约15000个XML。因此fn:doc抛出一个错误XDMP-EXPNTREECACHEFULL 有什么解决办法吗?我无

Xquery marklogic数据从一个林复制到多个林

我需要将Marklogic数据库内容(5000万xml文档)从一个数据库主机复制到另一个数据库主机。我们可以通过备份/恢复来实现这一点。但我需要将两个森林(每个森林2500万)中的可用数据复制到20个森林(每个森林250万)中,并将它们均匀分布。这可以使用xqsync或任何其他实用程序来完成吗?正如wst所指出的,默认情况下,对于新数据库,Marklogic 7将自动为您完成这项工作。对于从早期版本升级的数据库,需要从管理界面手动启用重新平衡。您可以在底部附近的“数据库配置”选项卡上找到该设置

如何手动测试XQuery,其中元素>;200?

目前,我正在开发一项服务,其中消费者可以在请求中发送250个元素,我需要使用xquery转换为所有入站元素进行映射 有人能告诉我是否有任何最佳方法或工具可以一次性测试250个元素的映射吗? 提前谢谢。这是我用的 我将jar放入maven repo(以及各种OSB/weblogic jar),然后编写JUnit测试用例。甚至不需要运行OSB服务器

返回XQuery中的布尔计数

我有给定的XML文件(),正在尝试执行以下操作: 返回没有讲师作为讲师的课程数(计数) 我试过了 let $course := doc("courses.xml")//Course return count($course/Instructors/not(Lecturer)) 但不是返回数字10,而是返回13。因为它基本上给了我一个数字 假假假真真真真真真真 我需要做额外的检查来限制真实值吗?您的测试需要在一个测试环境中进行 试试这个: let $course := doc("courses.

如何迭代XQuery路径? 1,4507 1. 2017-02-28T05:10:32.0606654Z 2017-02-28T05:10:32.2267838Z 离开 离开 账户:2015年2月10日xxx 16.666131292069704 打开 1,4507 2. 2017-02-28T05:10:32.0606654Z 2017-02-28T05:10:32.2267838Z 离开 离开 账户:2015年2月10日xxx 16.666131292069704 打开 0 126

以上是我的xml响应: 我想验证每一行的状态是否为打开状态 打开 声明名称空间ns1='https://************/token'; 对于//ns1:Response[1]/ns1:rows[1]中的$x 返回数据($x/ns1:e[1]/ns1:e[10]/text()) 但它并没有返回值。。它只是给出了预期结果中的以下内容 declare namespace ns1='https://**********/token'; <Result> for $x in //

Xquery TFS到Marklogic集成以进行部署

是否有人知道任何类型的插件或工具,通过这些插件或工具,我们可以将TFS与MarkLogic集成,从而帮助我们直接从TFS部署到MarkLogic模块数据库。否,没有可用的工具/功能。您需要TFS客户端首先从TFS获取文件,然后将模块加载到MarkLogic中 这与任何版本控制系统(如Git或SVN)的过程相同。您需要从版本控制存储库获取模块,然后部署它们 例如,对于CI环境,您可以将Jenkins项目配置为使用轮询和查找更改或按计划定期生成,然后使用生成/部署脚本,例如生成以部署到具有适当目标的

Xquery eXist DB/Query XSL转换:未定义的上下文序列

环境:eXistDB4.2.1、XQuery 3.1、XSLT2.0 我试图用XSLT2.0样式表转换XML文档,由eXist DB/Query 3.1触发。我收到以下错误 err:XPDY0002 Undefined context sequence for 'child::{}xinclude-path' [at line 271, column 48, source: /db/apps/deheresi/modules/document.xql] 此错误指向document.xqm模块

Xquery xdmp:文档插入不创建新文件

我在某个目录中有一个XML,我想在目标位置处理和写入一个新文件,但它显示的查询返回了一个空序列 XML: xquery: xquery version "1.0-ml"; let $input := xdmp:document-get("C:/Users/AmrendraG/Downloads/aaapp.xml") return xdmp:document-insert("C:/Users/AmrendraG/Downloads/aaapp-out.xml", <root

eXist db/xquery将输出序列化为csv

在我的网站(eXistDB,Xquery 3.1)上,用户可以下载动态生成的文档。我已经成功地为.pdf、.xml和.zip文件实现了此功能 现在我正在尝试将.csv输出序列化,但失败了 我得到以下错误: 检查功能参数1 参数1的实际基数与函数签名中声明的基数不匹配:。 期望基数:0或1,得到2 该错误在函数local:download()行let$binarysult:=util:string to binary($result,'UTF-8')中触发。 我认为我可以将一系列字符串传递给序列化

如何在MarkLogic中使用XQuery创建UTC时间戳?

我觉得我一定错过了什么,但我就是不知道如何使用XQuery在MarkLogic中创建UTC时间戳。fn:current dateTime函数使用操作系统指定的时区偏移量创建时间戳 使用服务器端JavaScript很简单: newdate().toISOString() //2020-02-07T14:43:32.588Z 谢谢大家! 您可以使用适当的fn功能调整时区,如下所示: fn:adjust-dateTime-to-timezone(fn:current-dateTime(), xs:d

Xquery 构造节点序列

有没有更简单的方法 <Elements> { for $i in ("a", "b", "c") return <Element name="{$i}"/> } </Elements> { “a”、“b”、“c”中的$i 返回 } 在xquery中?我不太理解你的问题。你说的更容易是什么意思 那么: <Elements> <Element name="a" /> <Element name="b" /

使用提供重复值的xquery调用数据库

我正在使用XQuery查询OSB项目中的数据库。考虑一下 下表: userId Name Category ------ ------- -------- 1 Dheepan Student 2 Raju Student 还有XQuery let $userName:=fn-bea:execute-sql( $dataSourceJndiName, xs:string("NAME"), xs

XQuery中的min()函数

我想通过区域名称获得区域名称、产品数量和最小库存订单的产品名称 我几乎得到了所有的东西,除了面额什么也没印 我的代码: for $zone in distinct-values(/productos/produc/cod_zona) let $numero := count(/productos/produc[cod_zona = $zone]/cod_prod) let $nomzona:=/zonas/zona[cod_zona = $zone]/nombre let $minimo :=m

Xquery 为什么BaseX不在执行“插入节点”命令时修改文件?

我正在BaseX7.9上执行以下XQuery代码,并且能够在结果窗口中看到插入。我甚至在关闭并重新打开集合后看到新节点。但是,当我转到文件目录时,我看到它没有被修改。那么,如何使插入也反映在文件上呢?BaseX如何处理插入命令,使其在数据库上下文中保持不变,而不是在文件上下文中保持不变 let $up := <Employee Name="Joe"> <Personal> <SSN>666-66-1234</SSN> &

XQuery替换节点中的多个单词

下面是XML文件- <A> <B> <Data>John is a good</Data> <Data>James loves cricket</Data> <Data>John loves Hockey</Data> </B> <B> <Data>Stuart loves cricket</Data>

无法计算xquery错误库模块或未声明命名空间

在JBoss中部署模块时,会出现以下错误: 无法评估库模块 函数“hello”位于保留命名空间中 没有为“m:hello”声明命名空间 我的src/main/resources中已经有了Helloworld2.xq文件。它不能识别或显示为重复的命名空间。有人能帮我吗?除非您是域“basex.org”的所有者,否则您可能应该为编写的函数使用不同的名称空间。在URI空间的一部分中创建一个名称空间,您实际上对其拥有一些命名权限。这至少可以清除第二个错误 使用什么相对URI来查找模块似乎经常引起混淆;如

Xquery 是否可以从外部变量动态声明默认名称空间?

对于我执行的所有XQuery查询,我定义了一个默认元素名称空间,如下所示: declare default element namespace 'http://example.com'; (: rest of the query :) 但是硬编码这个名称空间有点麻烦。我可以从外部变量动态定义默认名称空间吗 它试图: declare default element namespace $namespace; (: error: Expecting quote, found '$'. :) 。。

Xquery Marklogic 8:计划任务未启动且没有日志

我使用“调度器任务”在ML8.0.6上通过Xquery查询计划了数据提取 我的Xquery查询(如果我在ML web控制台中复制/粘贴该查询,并在AWS S3上获得可用文件,则该查询有效): 我的计划任务: 已启用任务:是 任务路径:/home/bob/extraction.xqy 任务根目录:/ 任务类型:每小时 任务期限:1 任务开始时间:小时后8点 任务数据库:mydatabase 任务模块:文件系统 任务用户:管理员 任务主机:XX 任务优先级:更高 不幸的是,我的脚本没有执行,因为

XQuery聚合结果并给出总计

我有一个项目的XML清单 清单列出了我有多少ID为1的if项目,有多少ID为2的项目,等等(假设每个项目ID代表一个产品)。 然而,根据特定类型的项目数量的不同,列表会被细分,这些项目上有特定的标记。 因此,我让我们说: Item ID Marked? Qty 1 (no) 500 1 ABC 100 1 (no) 50 1 FFFF 333 2 (no) 10000 该ir以如下

Xquery 在MarkLogic的cts:search选项中,哪个集合()或根元素更好

在我的一个项目中,MarkLogic顾问建议我在cts:search中使用集合,在另一个项目中,ML顾问建议在cts:search中使用根元素。在这两个项目中,我们拥有相同数量的文档。哪一个性能更好 假设我们有一个文档,我拿一个小文档来解释这个场景。它有一个名为demo的集合: <root> <child1>ABC</child1> <child2>DEF</child2> <child3>GHI</child3>

未设置Xquery变量

在我的Xquery 3.1模块中,我通过模块导入导入了“全局变量”,其中一个($globalvar:MSGS)包含一个XML文档,通过引用该变量访问该文档通常没有问题。比如这个 $globalvar:MSGS//vocab[@xml:id="warning"] 会回来的 <vocab xml:id="warning"> <span lang="en">Warning! Your changes (OBJECTID) could not be s

Xquery 想要从本地接收文档或文件以测试不同的VLan-是否可以使用Marklogic?

我想从本地(10.120.50.100)Marklogic数据库中摄取文档或文件,以测试VLan(10.125.1.77),它是使用Marklogic的不同VLan,因此-是否有可能通过任何方式实现这一点?从一个Marklogic实例读取的文档可以写入另一个Marklogic实例 一种方法是从命令行运行mlcp,从一台主机读取数据,然后向另一台主机写入数据。看 希望有帮助

Xquery PerformancePoint';是否存在XML模式或DTD;什么是Xml元数据?

我编写了几个XQuery语句来分解现有的KPI和仪表板元数据,但我希望通过查看相应的Xml模式或DTD(如果存在)来验证我的查询。我在网上搜索,但找不到我要找的东西 元数据存储在Performance Point的后端Sql Server数据库中的dbo.FCObjects表的SerializedXml列中。如果有可用的示例XML源,可以使用以下方法之一通过该参考文档生成验证器: PPS创作服务公开了一个WSDL,您可以根据该WSDL验证XML 您可以从以下位置的开放规范文档中获取此WS

如何在XQuery字符串-join()中包含空格

字符串联接将包含空格,但构造函数可能已根据的有效设置删除了空格 您看到的结果对于strip设置是正确的,在strip设置中,您实际上是在构造一个没有任何边界空白的节点,即: let $text := <a> <b>f</b> <b>a</b> <b> </b> <b>l</b> </a> return string-join($text/b,"") 字

从关系数据库以xml形式输入xquery和数据

我使用xquery处理关系数据库。我在考虑实现某种SAXSource、DOMSource或StreamSource,将其连接到关系数据库作为数据输入。运行xquery并让saxon将结果xml作为输出流返回。xml的关系数据库将是非常简单的xml结构,表示输入到saxon的数据。以前有人这样做过,或者有我可以查看的示例代码吗?只需要看看如何从关系数据库构建输入流,以及如何调用Saxon将其用作输入流。主要问题是性能。Saxon将数据库简单地视为一个要加载到内存中的大XML文件,它不会将XQuer

如何在XQuery中从常规比较中返回值?

我目前有这个查询,但它只返回一个布尔值TRUE let $expression1 := (0, 11, 22, 34, 36, 57) let $expression2 := (16, 17, 57, 18) for $item in ($sequence1 = $sequence2) return $item 此查询当前返回布尔值TRUE。 如何返回两个值的序列:第一个表达式的值和第二个表达式的值 任何帮助都将不胜感激。 谢谢 您得到的是布尔结果,因为($sequence1=$sequen

Xquery Marklogic—如何在XML内部传递变量

我需要在XML中插入元素,因此我尝试使用XQuery创建一些XML格式,但它不起作用 Query : let $a := 'test' return <p name="uri" value= $a /> Expected output : <p name="uri" value= "test" /> 查询: 让$a:=“测试” 返回 预期产出:

XQuery进程:执行如何执行外部程序?

我正在windows上运行exist db,希望执行外部windows程序 这在普通windows外壳内工作: C:\path\to\webGLRtiMaker.exe C:\path\to\ImageFile.rti -q 90 我想从我的xquery脚本中执行相同的程序(我已经根据指定的路径将所有需要的文件上传到我的exist db): xquery版本“3.1”; 导入模块命名空间进程=”http://exist-db.org/xquery/process在“java:org.exist

Xquery 使用Xidel提取同一行的href和文本,仅限于特定链接

我试图提取html页面中大量链接的标记内的链接(href)和文本 我只想要特定的链接,我用一个子串匹配 我的html示例: <a href="/this/dir/1234/">This should be 1234</a> some other html <a href="/this/dir/1236/">This should be 1236</a> some other html <a href="/about_us/">Not i

我可以在Marklogic Server的xquery中声明全局变量吗?

我想要一个全局变量,可以在不同的.xqy页面中使用。我可以在Marklogic Server的xquery中声明这样的变量吗?您可以在任何模块中声明变量。例如,它是config.xqy declare variable $PRECISION as xs:integer := 4; 要使用此变量,您需要在工作模块中导入此模块 import module namespace config = "http://your-namespace" at "config.xqy"; 并参考此变量: $co

XQuery fn:deep equal-将XPath中的文本与字符串文本进行比较

我试图使用XQuery函数fn:deep equal来比较XML文档的各个部分,但我得到了意想不到的行为。当比较XPath值和字符串文字时,函数返回false 例如,下面的代码 let $doc := <root> <child><message>Hello</message></child> </root> let $message := <message>Hello</message&

xquery包含xml文件名

我在XMLSPY中有以下代码片段,可以正常运行: xquery version "1.0"; <query2> { for $r in /reviews/review return $r/reviewer } </query2> xquery版本“1.0”; { 在/reviews/review中花费$r 返回$r/审阅者 } 如何在xpath中包含xml文件名,例如abc.xml/reviews/review???我可以自己解决这个问题: <query2>

为什么Xquery中的计算属性变为null?

我写这段代码是为了根据专辑的年份列出专辑,并给出id和与每个标题相关的属性,但我得到的id是空的 <Production_by_years> { for $i in distinct-values(//Album/Year/text()) return element {"Year"} { element {"year"}{$i}, for $o in //Album/Year[text() eq $i] ret

Xquery Oracle服务总线XPath实现

我使用的是Oracle Service Bus 11g版本1(11.1.1.3),它的XPath实现存在问题 XQuery资源包含一个简单的XPath轴位置路径: preceding::SomeElement 甲骨文表示,它应该能够: Oracle Service Bus XQuery引擎完全支持万维网(W3C)XQuery规范中描述的所有语言功能,只有一个例外:模块。有关XQuery 1.0和XPath 2.0函数和运算符>(W3C工作草案2004年7月23日)的更多信息,请参阅以下URL:

X-Hive XQuery优化

我的xquery将搜索40000多个文件,并检查是否存在特定请求 示例: 声明选项xhive:忽略索引“资源类型索引”; { 对于文档中的$doc('/repository/content')[以(xhive:metadata(,'docato uri'),'/cards')和xhive:metadata(,'docato type')='XML\u RESOURCE\u type'和(exists(xhive:metadata(,'change-request'))开头] 返回 对于xhive

如何在xquery中导入通用模块名称空间

我有几个在多个文件中使用的模块名称空间xquery文件。我希望将名称空间放在一个公共xquery文件中,并将该文件导入到我想要使用的任何地方 比如说, 我有process lib.xqy,util lib.xqy和query lib.xqy。 我曾经在多个文件中导入这些文件,如下所示 import module namespace util = "util" at "util-lib.xqy"; import module namespace process = "process" at "pr

XQuery:从字符串(属性值)生成变量名

我有一个运行xquery的框架,它包括一个XML配置文件,该文件将我可以在查询中使用的参数定义为变量,如下所示: <text name="myVar" label="My Var"/> (上述方法显然不起作用) 怎么可能呢?嗯,变量名(如$myVar)只能静态定义,因此这是不可能的,除非您从配置文件中找到的内容以编程方式生成查询的源代码 我想我在这里要做的是将参数作为映射传递: declare variable $params as map(xs:string, item()*);

Xquery 按顺序阅读文件

我们有一个URI列表,需要按照传递的顺序读取它 示例1 doc(("/doc1", "/doc2", "/doc3")) 上面的函数应该先返回“/doc1”的内容,然后返回“/doc2”,然后返回“/doc3”,但没有返回 下面的查询也发生了同样的情况 示例2 cts:search(doc(), cts:document-query((("/doc1"),("/doc2"),("/do

上一页 1 2 ...  4   5   6   7    8   9   10  ... 下一页 最后一页 共 30 页