xquery 相关问题

XQuery是一种用于查询和操作XML数据的函数式语言。它是XPath的超集,它添加了诸如创建新节点和更强大的FLWOR表达式等功能。虽然它与XSLT共享其数据模型,但XQuery针对查询而非转换数据进行了优化,因此它具有受SQL启发的不同设计。

xquery

在我的Web应用程序中写下一个函数,基于现有DB,将一些XML元素带到CSV中,并使用Xquery导出。一切正常,但是我的元素中有一些乌姆拉特,例如ü,ä或ß,这些都显示...

回答 2 投票 0

从sql Server列中获取XML节点作为逗号分隔列表

i我有一个存储在XML列中的数据,需要一个逗号分隔的子节点列表。使用下面的脚本,我只能得到“ A B C”。请帮助我使用Xquery获得“ A,B,C”(用

回答 3 投票 0


如何计算Xquery中变量的功率?

192.168.1.1 如果我需要计算一个变量“ totalipAddress”,其值为2^($ blocksize)的XQUERY语句是什么? <IPaddress> <startIPaddress>192.168.1.1</startIPaddress> <blocksize>4</blocksize> </IPaddress> there是计算功率的一种特别有效的方法 - 具有对数时间复杂性(O(log(n)): declare function local:pow($x as xs:double , $n as xs:integer ) as xs:double { if($n eq 0) then 1 else (let $h := $n idiv 2, $halfResult := local:pow($x, $h) return if($n mod 2 eq 0) then $halfResult * $halfResult else $x * $halfResult * $halfResult ) }; local:pow(2,10) 产生预期的正确结果: 1024 the Recursion是您的朋友: declare function f:two-to-the($n as xs:integer) as xs:integer { if ($n = 0) then 1 else 2 * f:two-to-the($n - 1) }; 数学:POW,最简单的方法就是将其进行硬盘: (1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4194304, 8388608, 16777216, 33554432, 67108864, 134217728, 268435456, 536870912, 1073741824, 2147483648, 4294967296)[$blocksize + 1] 工作也在xpath 2中。 有数学:POW函数: 麦片:POW(POW( $ x作为xs:double?, $ y AS XS:数字 )为xs:double?

回答 4 投票 0



在有字符串值时,在具有长类型的元素范围索引中。它引发了一个错误。如何处理和查找具有垃圾数据的所有数据?

有数百万的文档,所有这些文档都有一个价格要素,价格的价格很长。但是,某些文档的价格带有一些垃圾/字符串值...

回答 1 投票 0

不能够设置输出:xquery

declare namespace xf = "http://tempuri.org//test" \`declare namespace output ="http://www.w3.org/2010/xslt-xquery/serialization"; declare option output: method "text"; declare function xf:test($test as element(\*)) as item () \* { for $row in $test/\*:row return ('"\<row", "',data($row), '" ') }; declare variable $test as element(\*) external; xf:test($test)\`

回答 1 投票 0

xquery 转换在元素中创建空命名空间

我很抱歉,但我想我只是没有看到我在这里犯的错误。 我有一个返回 XML 的骆驼路由,为了能够测试输出,我编写了一个与 SpringRunner 一起运行的 JUnit 测试。那个...

回答 2 投票 0

任何将日期时间字符串转换为所需格式的 Xquery 函数

我想将日期时间字符串转换为所需的日期时间格式,例如:“YYYY-MM-DDTHH:MM:SS”。 输入:2025 年 1 月 5 日星期日 15:53:10 GMT 输出:2025-01-05T15:53:10 有没有 Xquery 函数可以

回答 1 投票 0

MarkLogic - XDMP-NEWSTAMP 异常

我们正在使用 MarkLogic-8(具有三个节点 - 每个节点有两个森林),并且经常遇到 XDMP-NEWSTAMP 异常。 我们有默认的合并策略,不使用任何时间点查询...

回答 2 投票 0

转换 HTML 后多余的行

https://stackoverflow.com/q/79268606/3387716的后续问题 转换此 HTML 后: ... 后续问题https://stackoverflow.com/q/79268606/3387716 转换此 HTML 后: <body> <section id="s1"> <h2 class="move me to s1">First</h2> <p>Hello</p> <h2 class="do not touch me">Second</h2> <p>World</p> </section> <section id="s2"> <h2>Third</h2> <p>Foo</p> <div> <h2 class="move me to s2">Fourth</h2> </div> <p>Bar</p> </section> </body> 与 xidel 的 x:replace-nodes: xidel --output-node-format=html --xquery ' x:replace-nodes(//body, ./section[.//h2[@class]], function($e) { element { $e/name() } { $e/@*[not(name()="class")], attribute class { ($e//h2[@class])[1]/@class }, x:replace-nodes($e/node(), ($e//h2[@class])[1]/@class, ()) } }) ' 我在结束body标签之前得到了一个多余的空行: <body> <section id="s1" class="move me to s1"> <h2>First</h2> <p>Hello</p> <h2 class="do not touch me">Second</h2> <p>World</p> </section> <section id="s2" class="move me to s2"> <h2>Third</h2> <p>Foo</p> <div> <h2>Fourth</h2> </div> <p>Bar</p> </section> </body> 有人知道这是为什么吗?怎么摆脱它? 这是解析 HTML 片段时xidel的固有问题: 一个简单的 `xidel --output-node-format=html --xpath '//body' 输出多余的空行... 我能想到的唯一解决方法是 normalize-space 结束 body 标签之前的文本节点。

回答 1 投票 0

当我将结果包装在新元素中时,为什么 BaseX XQuery 结果格式会发生变化?

我正在 BaseX 编辑器中逐步构建 XQuery(我的第一次 XQuery 尝试)。在最后一步,结果格式发生了变化,我不明白为什么。我和X真的很难相处……

回答 1 投票 0

XPath/XQuery 过程分组莫比迪克日出之夜

我有一个XML文件: 莫比迪克 赫尔曼梅尔维尔 日出之夜 杰夫·曾特纳 我有一个 XML 文件: <xml> <title>Moby-Dick</title> <author>Herman Melville</author> <title>Sunrise Nights</title> <author>Jeff Zentner</author> <author>Brittany Cavallaro</author> <price>14.52€</price> <title>My Salty Mary</title> <author>Cynthia Hand</author> <author>Brodi Ashton</author> <author>Jodi Meadows</author> </xml> 我想将其转变为: <xml> <book> <title>Moby-Dick</title> <author>Herman Melville</author> </book> <book> <title>Sunrise Nights</title> <author>Jeff Zentner</author> <author>Brittany Cavallaro</author> <price>14.52€</price> </book> <book> <title>My Salty Mary</title> <author>Cynthia Hand</author> <author>Brodi Ashton</author> <author>Jodi Meadows</author> </book> </xml> 逻辑是每次遇到 book 时创建一个新的 title 并将所有后续节点放入该书中。 这是我迄今为止尝试过的: let $books := ( doc("books.xml")/xml/* => fold-left((array{}, 0), function($acc, $node) { let $arr := $acc[1], $idx := $acc[2] return if (name($node) = "title") then ($arr => array:append($node), $idx+1) else ($arr => array:put($idx, ($arr => array:get($idx), $node)), $idx) }) )[1] return <xml>{for $book in $books return <book>{$book}</book>}</xml> 但是我明白了 <xml> <book> <title>Moby-Dick</title> <author>Herman Melville</author> <title>Sunrise Nights</title> <author>Jeff Zentner</author> <author>Brittany Cavallaro</author> <price>14.52€</price> <title>My Salty Mary</title> <author>Cynthia Hand</author> <author>Brodi Ashton</author> <author>Jodi Meadows</author> </book> </xml> 旁白:group by似乎对解决当前问题没有用,所以我尝试“手动”对书籍进行分组,但我不知道这是否是正确的方法;欢迎任何提示。 如果您可以选择使用 XSLT 2.0+,这非常简单: <xsl:template match="booke" group-starting-with="title"> <book> <xsl:copy-of select="current-group()"/> </book> </xsl:template> 在 XQuery 3.1 中,可以使用 FLWOR window 子句来完成。 for tumbling window $w in books/* start at $s when $s[self::title] return <book>{$w}</book> 未测试。

回答 1 投票 0

使用 XQuery/XPath 计算多个 XML 文件中的不同值

我有几个 XML 文件,它们都具有相同的结构。我需要找到每个元素中出现的所有不同值并对每个不同的出现次数进行计数。 这样做的最佳方法是什么...

回答 1 投票 0

Xquery用于计算两个日期之间的工作日,但结果错误

在 Informatica 中,我在应用程序集成过程中构建了 Xquery 代码行: fn:sum(对于 $j 从 0 到 fn:days-from-duration(xs:date($temp.t_laatsteLeverDatum) - fn:current-date()) 返回...

回答 1 投票 0

如何在 xml 中查找具有特定值的属性而不将特定元素放入 MarkLogic Xquery?

价值 萨德夫 价值 萨德夫 <book> <abc x="1">value</abc> <xyz>sadf</xyz> </book> <book> <ijk x="1">value</ijk> <xyz>sadf</xyz> </book> <book> <plm x="1">value</plm> <xyz>sadf</xyz> </book> 我有像上面这样的xml,我想要属性x=1(元素名称不固定)的所有xml。我可以使用 XPath 轻松完成此操作,但我需要在巨大的数据集上运行此查询,那么我们是否有任何 cts 查询来使其更快?或者更好的方式来查询这个? 不幸的是,查询属性的内置 cts:* 函数必须指定元素 QName。如果您不知道哪些元素可能具有该属性,那么创建字段索引或TDE可能会更容易。 一种选择是使用通用 XPath 创建一个 path 字段,例如 //*/@x 或 /book/*/@x 如果您启用字段值搜索的选项,那么您可以使用如下查询: cts:field-value-query("x", "1")

回答 1 投票 0

无法完全使用 XQuery 来应用递归

这是我的计算表达式函数和calculateMinus函数 将函数 local:calculateExpression($expression) 声明为 xs:decimal { 让$结果:= if ($表达式/uli:times) th...

回答 1 投票 0

无法使用 Xquery 评估嵌套操作

下面是我的 Xquery 代码。关注计算表达式 导入模式命名空间 uli = "http://www.cs.man.ac.uk/~sattler/" at "examSchema.xsd"; 将变量 $examFile 声明为 xs:str...

回答 1 投票 0

在 Docker 容器中安装期间,eXist-DB 索引设置失败

我创建了一个基于 eXist-DB 的应用程序。该应用程序应部署在 Docker 容器内。我的应用程序依赖于一些繁重的预计算,这应该将结果存储在数据库中-

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.