在xquery中,单引号和双引号之间有什么区别吗 否。对于字符串文本,它们的工作方式与JavaScript完全相同
规格::
StringLiteral::=
(“”(预定义的entityref | CharRef | escapequeot |[^”&])*”)
(““(预定义的实体引用| CharRef | EscapeApos |[^'&])*”)
不。对于字符串文本,它们的工作方式与JavaScript完全相同
规格::
StringLiteral::=
(“”(预定义的entityre
我正在使用cts:search,如下所示:-
let $query :=
cts:or-query((
cts:field-word-query(
"Assignor Name", $assignorName
),
cts:field-word-query(
"Assignee Name", $assigneeName
)
请看下面的样品--
现在,我只知道2个“b”标记中的文本——(在我们的示例中是“Name#1”和“Name#2”)——因此我想我必须以某种方式设置条件并检索链接(我需要),对这些链接的前一个同级和后一个同级设置条件——设置这些条件的命令是什么(如果到目前为止我是对的)?如果我不是对的,那么我该如何获得这组链接?这是有效的:
$doc/div[ @class="patent_bibdata"]/b[. = ' First list']/following-sibling::a[not(preced
是否有标准的XQuery函数可以返回节点的“规范”路径?
我的意思是:
doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']
/根/元素/子元素[0]
是的,在使用XQuery的路径表达式的谓词中,可以执行以下操作:
doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']
希望有帮助 自从XQuery3.0以来,就有了,它正好做到了这一点。如果您的查询处理
我正在尝试创建一个脚本,为MarkLogic数据库创建索引。请注意,显示的索引只是要创建的脚本的一小部分
xquery version "1.0-ml";
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy";
declare namespace xdmpdb = "http://marklogic.com/xdmp/database";
declare varia
对XQuery和noob q来说都是新手。我安装了一个BaseXDB作为我的沙盒(包括一个示例文件etc/factbook.xml)。我构造了一个简单的查询,我认为它将返回所有人口>1000万的“城市”
for $x in doc("etc/factbook.xml")/mondial/country
where $x/city/population > 10000000.0
return $x/city
但我看到的是人口较少的城市,有什么见解吗
<city id="f0_17
我正在尝试使用如下查询获取Marklogic中所有文档的“xxx”参数:
(/doc/document)/xxx
但由于我们有非常大的文档数据库,我得到一个错误“主机上扩展的树缓存已满”。我没有此服务器的管理员权限,因此无法更改配置。我建议在获取以下文档时可以使用范围:
(/doc/document)[1 to 1000]/xxx
然后
(/doc/document)[1000 to 2000]/xxx
等等,但我担心的是,我不知道它是如何工作的,例如,如果在此过程中更改数据库(例如,将添
我是XQuery的新手。我在下面写了一个查询,它工作得很好,并且从一个
xml存储在Marklogic中
xquery version "0.9-ml"
let $data := someQuery
return
for $i in $data
return
fn:string-join((
$i/PATHTOFILED_1/text(),
$i/PATHTOFILED_2/text(),
.
.
.
.
$i/PATHTOFILED_N/text()
),","
)
输出:
abc,
我有以下XQuery:
<a> {
for $p in doc("p.xml")//p
return
<p q="{$p/@q}> {
for $w in $p//@w
where count(doc("r.xml")//s[@w = $w]) = 0
return
<s w="{$w}"></s>
我正试图构建一个XML文档,以从函数返回,如下所示。如果我先使用let将其存储在另一个变量中,为什么求值替换会起作用?我能否在适当的位置计算表达式?正如您在最后的结果中所看到的,生成的XML只填充了我在$x变量中存储的变量值
declare function local:oim-to-canonical($oimContent as node()) {
let $x := $oimContent/account/domain/text()
return
<person xm
我试图在MarkLogic中计算XML的文档大小,作为性能的一部分。有没有人能帮我处理一些内置函数或查询,以便我计算文档的准确大小?我有一个公式如下:
{string-length(string(data($doc))) idiv 2}
如果“大小”是指如果将XML文档序列化为文本(“到磁盘”),它会有多大
将使用默认编码和序列化选项为您提供字符数。
如果使用UTF8,这将从1:1(字符到字节)到1:3不等,具体取决于Unicode字符的分布以及指定给xdmp:quote()的序列化选项与摄取
使用XQuery 3.1(在eXistDB 4.4下),我有一个函数返回710个分隔行的序列化输出,如下所示:
MS609-0001~ok~0001~1r~Deposition~De_Manso_Sanctarum_Puellarum_1~self~1245-05-27~Arnald_Garnier_MSP-AU~self
MS609-0002~ok~0002~1r~Deposition~De_Manso_Sanctarum_Puellarum_1~MS609-0001~1245-05-27~G
我有两次约会;日期1=2021-01-14T00:00:00-05:00和日期2=2021-01-17T00:00:00-05:00。
在xquery中有比较它们的好方法吗?是的,您可以简单地进行比较
xs:dateTime('2021-01-14T00:00:00-05:00')
< xs:dateTime('2021-01-17T00:00:00-05:00')
xs:dateTime('2021-01-14T00:00:00-05:00')
我试过:
{ xs:integer($contentAssetProvider/text()) }
及
但是
Error executing the XQuery transformation: Error parsing XML: {err}XP0021: "false": can not cast to {http://www.w3.org/2001/XMLSchema}integer: error: decimal: Invalid decimal value: unexpected c
我有一个查询,它将唯一引用附加到@xml:ids中的元素。它可以正常工作,但如何避免函数local:add-references()的笨拙重复
xquery版本“3.0”;
声明命名空间tei=”http://www.tei-c.org/ns/1.0";
将函数local:change attributes($node作为node(),$new name作为xs:string,$new content作为item(),$action作为xs:string,$target元素名称作为xs:stri
从以下XML中,我希望获得按@name排序的第n个产品:
<products>
<product name='200'>...</product>
<product name='100'>...</product>
<product name='111'>...</product>
<product name='100'>...</product>
<product name='11
首先尝试这个简单的xpath——验证它是否工作,以及它是否对您来说性能不够
cts:search(doc(), (some cts query?))
它应该返回mytype=1和myval text content=“100”的elemZ的myval元素子元素
为了做得更好(使用cts:query),需要那些“可怕的”其他cts:query,可能还需要一些范围索引。
大致:(未经测试)
建议您从做任何事情的最简单表达式开始,然后逐个添加约束
在您的例子中,可以想象查询优化器会将简单的xpath
我想在marklogic中搜索以双引号开头的术语。我正在使用搜索建议
我正在搜索的术语为“独立”。成功执行时,查询应建议多个选项,其中一个选项为“独立方”。但它没有回复任何建议。我可以看出,搜索建议并没有找到以双引号开头的术语。请建议我如何修理它
代码在下面共享
let $options:=<options xmlns="http://marklogic.com/appservices/search">
<additional-query>
<cts:and-qu
标签: Xquery
informaticainformatica-cloudapplication-integrationcloud-integration
我不熟悉XQuery。请指导我解决以下问题,如果下面的表达式没有给出任何值,我希望以字符串形式返回null值
目前,输出不显示“名称”字段本身。我想要一个null的名字。例如-
if (IsNull(expression),null,expression)
$output.dataAccessResponse[1]/*:row/*:name/text()
您可以使用该函数测试是否存在text()节点
exists($output.dataAccessResponse[1]/:row/:nam
我们在MarkLogic中有如下数据
<article>
<data id=1>
<author>
<name>
<fname>manish</fname>
<sname>joisar</sname>
</name>
</author>
</data>
<da
我对XQuery完全不了解,但在开始深入研究它之前,我想请教一些专家,我是否在寻找正确的方向
问题是:
包含大量用户及其访问信息(密码访问权限等)的巨大xml文件示例如下:
<user>
<name>JC1234</name>
<password>popstar</password>
<accesslevel>0</accesslevel>
</user>
<user&g
我的日期显示如下
01-Nov-2012 12:00:00 AM
我想展示一下,如果日期与上面的一样
01-Nov-2012
这仅适用于少数数据,并非所有数据
如何在Xquery中实现这一点
请帮忙
关于您可以使用:
tokenize(/test,' ')[1]
或
将/test替换为日期的适当路径。您可以使用:
tokenize(/test,' ')[1]
或
将/test替换为日期的适当路径。这非常简单
convert(VARCHAR(10),datetoformate,106)
e、 g
将下列内容描述为一系列文本节点是否准确
("foo", "bar", "baz")
不,他们不是。字符串不等于文本节点,这是一个字符串序列
文本节点的类型为节点,这也是项(它们是XQuery中最常用的数据类型)。字符串派生自xs:anyAtomicType,它也是项
看一看
确定项目的类型
可以使用
(text { "foo" }, text { "bar" }, text { "baz" })
您可以使用typeswitch结构轻松确定节点的类型:
for $item in (t
我想使用XQuery转换函数将int转换为string
我有如下的XQuery转换:
<ns8:postCode>{ fn:string(data($customer/ns9:postCode)) }</ns8:postCode>
{fn:string(数据($customer/ns9:postCode))}
我试图将int转换为string,但上面的一行仍然给出了错误
它与目标架构不匹配。源为int,目标为string
我还尝试:
<ns8:postCode&
在执行xquery转换时,我遇到了一个条件,在这个条件下,我希望删除元素的空属性
例如:
<product
name="{data($cBRequestType1/ns0:BCAmessage/ns0:BCAservice/ns0:BCAservice-data/ns0:request/ns0:VerificationEnquiryRequest/ns0:product/@name)}"
a="{data($cBRequestType1/ns0:BCAmessage/ns0
首先,如果我的问题有错,我很抱歉。我是法国人,英语不是最好的。
我对Soapui中的Xquery匹配有问题。
有一个Soapui响应的示例:
<ns0:Group>
<ns0:Personne>
<ns0:idPersonne>111</ns0:idPersonne>
</ns0:Personne>
<ns0:Personne>
<ns0:idPersonn
我试图计算每个区域“zona”的产品数量。我想要这样的东西:
Zona: 10 Num Productes: 4
Zona: 20 Num Productes: 3
Zona: 30 Num Productes: 4
Zona: 40 Num Productes: 2
但我明白了:
Zona: 10 Num Productes: 0
Zona: 10 Num Productes: 0
Zona: 20 Num Productes: 0
Zona: 20 Num Productes
我有一个xml文件,如下所示:
<search>
<parameter name=”Title” included=”true”>I Want to Be Somebody New!</parameter>
<parameter name=”Author” included=”true”>Lopsh</parameter>
<parameter name=”ISBN” included=”false”/&g
我需要使用计数器来记住我处理了多少个节点。所以我定义了一个全局var$classCounter。由于一些未知的原因,我从zorba得到一个错误:
test.xqy>:15,9: error [zerr:XSST0004]: "local:owlClassNameBuilerHelper": function declared nonsequential but has sequential body
我真的不明白这个错误是什么意思。如何在XQuery中实现全局计数器
整个xqy文件是:
我这里的情况很奇怪。我正在尝试构建一个向MarkLogic服务器发送http get请求的应用程序。它点击执行search:search(“”)的XQuery代码。我正在将空查询传递给搜索,以便返回默认的相关结果。
我正在使用Roxy进行部署。
当我通过命令调用典型的Roxy部署函数时-
ml local deploy content.
它加载所有文档,稍后当我点击localhost:7040时,我得到了预期的结果。到目前为止还不错。
现在,我重写了Roxy的现有方法deploy_cont
当我记录$variable时,我看到了一个XML节点,但我不确定$variable是如何接收该节点的,并假设它与外部变量有关
declare variable $variable as element() external;
在查询中声明外部变量意味着调用应用程序在调用查询时必须为变量提供一个值。执行此操作的方式取决于所选XQuery处理器提供的API。外部变量的值由调用它的任何代码设置。您可能会看到一个节点,因为您将其定义为数据类型元素。请在你的询问周围加一点背景。
我试图根据元素值对所有文档进行分组。通过X-Query,我可以得到元素值及其对应的计数。但是,使用JavaAPI我无法做到这一点
X查询:
for $name in distinct-values(doc()/document/<element_name>)
return fn:concat("Element Value:",$name,", Count:",fn:count(doc()/document/[element_name eq $name]));
爪哇:
QueryMa
有没有办法按位置范围对输入进行分组?
在我的例子中,我有一个使用多个字符串的函数。我需要按静态位置范围(1-3、4-6、7-9等)对它们进行分组,然后在for循环中为每组执行一些代码。
我不知道传递了多少字符串。它可以根据输入而改变
我已经尝试在$I处对$x进行迭代。。。但是我不能把它做好
declare function bs:concat-strings
( $multipleStringInput as item()+ ) {
let $firstString := $
我想使用Xquery从查询控制台读取MarkLogic日志(例如:ErrorLog.txt)。我有下面的代码,但问题是输出格式不正确。结果如下所示
xquery version "1.0-ml";
for $hid in xdmp:hosts()
let $h := xdmp:host-name($hid)
return
xdmp:filesystem-file("file://" || $h || "/" ||xdmp:data-directory($hid) ||"/Logs/ErrorL
这将返回上下文未定义错误。
不明白为什么
我也试过:
let $my_val as xs:boolean := fn:true
return $my_val
成功了只是一个小小的o型
是一个函数
您有fn:true,因此它认为您试图引用fn命名空间中名为true的元素,而没有要锚定到的上下文节点
let $my_val as xs:boolean := (1 = 1)
return $my_val
哇,第二双眼睛很受欢迎。
let $my_val as xs:boolean := fn:tr
将详细说明-当我执行以下命令时:
let $value := xdmp:forest-status(
xdmp:forest-open-replica(
xdmp:database-forests(xdmp:database("Documents"))))
return $value
上面的查询返回了大量关于数据库“文档”林的信息,如-林id、主机id等
我只要求它只返回我的森林的“状态”。如何执行此操作?
我正在使用xdmp:document timestamp函数获取此文档上发生的最新更新的时间戳
上述函数将时间戳作为输出返回,如:162229849221692864
如何将此时间戳转换为人类可读的日期时间?我们可以使用此函数将时间戳转换为日期时间
xdmp:timestamp-to-wallclock(16222984921692864)
返回:
2021-05-29T10:28:12.1692864
我不熟悉编程,也不熟悉xml/xquery
我有一个.xq文件(带有html和xquery代码)和.xml文件(用于存储数据)
在测试时,我可以使用stylus studio查看.xq页面的显示方式,但无法使用Web服务器或Web主机使页面正常工作。我知道这并不罕见,但我还没有找到解决方法(或者说这是否可能)
与此同时,我一直在使用Saxon,它工作得很好,但如果必须使用完全独立于应用程序的命令行代码,这并不理想
我还读到,Jedit是一个选项,但我无法让xquery/saxon插件与xquer
我可以在xquery中将文件从一个目录移动到另一个目录吗?我假设您指的是文档(而不是文件)
MarkLogic使用。您必须复制和删除—如果要“移动”的文档数量不多,您可以在单个事务中执行此操作。否,没有用于从文件系统中删除文件的MarkLogic功能。您可以做的最接近的操作是xdmp:保存一个空文本或二进制文件,覆盖任何现有文件。是的,我指的是文档。但这里我不是说从Marklogic数据库中删除。我说的是从硬盘中的文件夹中物理删除文档。我可以用xquery来做这件事吗。请详细解释。
我想在for循环中创建一个cts:或查询。我该怎么做
我的逻辑的一个例子:
let $query := for $tag in (1,2,3,4,5)
return myquery
我希望得到最终查询,例如:
let $query := cts:or-query(
(
cts:element-query(xs:QName("ts:tag"),'1'),
cts:element-query(xs:QName("ts:tag"),'2'),
cts:element-
我想列举两个有不同宗教信仰的国家,它们是邻国。
我写过这样的东西:
<result query='9'>
{
let $check := ""
for $x in doc("m.xml")/m/country
let $check := concat($check, "{$x[@car_code]}", " ")
let $r1 := $x/religions[@percentage>50]
for $y in doc("m.xml")/m/countr
我正在编写一个XQuery,需要检查正在运行的XQuery版本(eXist、Saxon等)。是否有标准函数可以返回XQuery的系统属性,如版本、供应商等
我知道有一些特定于系统的调用,如eXist的
system:get-version()
但我正试图找到一个可以在所有平台上运行的标准函数
例如,在XSLT中,我们有:
Version:
<xsl:value-of select="system-property('xsl:version')" />
<br />
Ve
我有以下方法
declare private function local:get-range($count as xs:integer, $skip as xs:integer, $start as xs:integer, $end as xs:integer) as xs:integer*
{
let $newStart := $end + 1
let $newEnd := $end + $skip
let $endCorrection := if ($newEnd >
标签: Xquery
whitespacexquery-updatexqilla
我正在尝试创建一个自动发布脚本,可以更新几个Maven pom文件。目前,发布脚本是一个文本文件,其中包含指令和一些示例sed命令,这些命令假定旧版本号始终是唯一的。从1.8-SNAPSHOT更新到1.9-SNAPSHOT时,假定pom中任何地方出现的1.8-SNAPSHOT都指向此项目,需要更新
我希望通过正确读取XML来识别需要更新的特定元素,从而使这一点更加安全。因为结果更改将提交到git存储库,所以我不希望对空白进行任何不必要的更改
到目前为止,我已经提出了这个XQuery脚本
decl
以下cts的词干分析结果:stem('motivation','en')为motivation。我希望结果是激励。如何解决这个问题?根据:
MarkLogic Server中支持的词干分析不跨不同的
词类。例如,conservate(动词)和conservate(名词)
不认为它们具有相同的茎,因为它们具有不同的
词类。因此,如果搜索带有词干的“保持”
如果启用搜索,结果将包括包含以下内容的文档
保存和保存,但不包括保存的文件(除非
保存或保存(也会出现)
在你的例子中:动机是一个名词,动机是一
有人能解释为什么Javascript测试函数可以工作,即使XQuery函数是在HTML中包含脚本之前声明的吗
test.js
index.xqy
index.xqy中的所有XQuery代码都在服务器端执行,因此在到达浏览器之前调用并计算local:test。浏览器看到的第一件事是Doctype声明,它使用已经呈现的local:test结果对页面进行求值。index.xqy中的所有XQuery代码都是在服务器端执行的,因此在到达浏览器之前调用和求值local:test。浏览器看到的第一件事是Doc
我希望在existdb(v2.2)中转换并存储~450k xml片段。每15k左右记录一次转换,输出一个无效(但格式正确)的结果。在此MWE中,第二个人的生日不是有效日期1225年2月29日。由于尝试查找和修复这些错误非常耗时,我希望在将每个转换函数的输出存储到数据库中时对其进行验证,因此我不必每次查找异常值时都运行完全验证。我意识到有效片段和有效最终项目之间的区别,但这只是为了避免我喝咖啡过量
我提出了两种解决方案,都能达到预期的效果:
基于示例输入,我希望验证三个tei:xml片段并将其存储
嗨,我正在进行摄入和验证,但我想记录摄入和验证的开始时间和结束时间。下面是我的代码我做错了什么请建议
let $pipelineXml :=
<pipeline id='a111' name='ACH-export' xmlns='http://cms.bloomsbury.com/pipeline'>
<transform href='/transforms/docbook2xml.xsl'/>
<validate href='/validation/t
我在Marklogic中使用内置的rest端点,它允许我调用Marklogic中存储在模块数据库中的模块
“{”word1:“你好”,“word2:“世界”}”
它是否也提供了调用lib模块中存在的直接函数的选项
使用vars选项,它允许我们将外部参数传递给调用模块。vars选项似乎只允许将原语值传递给调用模块的外部参数
但我们如何使用这个vars选项将XML数据传递给调用模块,以便可以通过模块中定义的外部变量访问它
如有任何建议,将不胜感激
注意:我使用postman测试RESTAPI
谢谢。
我在一个模块中有一个要顺序调用的函数列表。此时,我还必须保留一个函数名列表,然后使用fn:function lookup查看它是否存在,然后使用xdmp:apply和xdmp:function调用该函数
有什么方法可以获得导入模块中列出的函数序列吗?我自己从未尝试过,但我认为您可以用找到它,并通过xdmp:function-module()过滤完整的列表。思想认为,很可能是功能的顺序没有得到维持,以防这很重要
我还想知道你为什么要费这么大的劲来做这件事。听起来更像是在尝试运行一些测试之类的
嗯
1 2 3 4 5 6 ...
下一页 最后一页 共 29 页