我正在为BaseX编写Xquery函数,它获取一个参数作为元素节点的名称。然后在Xpath中使用这个名称,但通常我不能将字符串转换为元素。 下面是该方法的外观 declare function prefix:getElementWithValue($root as document-node()?, $elem as xs:string?, $minVal as xs:float?, $maxVal as xs:float?)
as element()*
{
let $e := element {$elem} {""}
for $x in $root//SUBEL
我一直在尝试将一个元素(及其子元素)替换为另一个具有相同元素的XML文件中的内容。
示例:
FileA:
<A>
<B id="1">
// more sub elements
</B>
<B id="2">
// more sub elements
</B>
</A>
FileB
<A>
<B id="1">
// other sub elements t
可以将xquery文件(.xq)中的链接设置为变量吗?
例如,我有下面的链接,我需要把它转换成一个变量,这样我就可以将它与for-contains代码一起使用。
{ for $x in doc("myfile.xml")/portion/food
return <li><a href="#link"></a>{data($x)}</li>}</ul>
{ for $y in doc("myfile.xml")/portion[contains(., <THIS IS W
我有一个Server查询来将一个XML节点插入到某些XML中;当我使用大写的INSERT时,它会产生语法错误,但小写的insert工作。
UPDATE @xTABLE
SET x.modify('
INSERT <newthing>I am here</newthing>
as last
into (/rootthing/InsertInMe)[1]
');
为什么在出现语法错误的情况下失败,给出了下面的例子:
Msg 2209,第16级,状态1,第25行XQuery @xTABLE.x.modify():“i”附近的语法错误
在SSMS中运行
我在从XML检索数据时遇到了一些问题。
with xmlnamespaces ('x-elements' as x)
select
tb.[Profile].value('(x:ppr/x:static/refId)[1]', 'varchar(22)') testCol
from table1 tb
上面的代码运行得很好。但是,当我在函数中传递XML路径时,它会正确编译,但在调用时不会返回数据,而只是返回xml路径(传递给它)。
CREATE FUNCTION testFunc
(
@p varchar(22)
)
RETURNS n
我正在使用氧气XML编辑器学习Xquery,并且打开了它们的一个示例文件:
xquery version "3.1";
(:The Saxon EE processor must be set in the XQuery transformation scenario for this example. :)
declare base-uri 'file:/Applications/Oxygen%20XML%20Editor/samples/xquery/Update/';
(: How to insert a node in an XML document
我有一个数组,我想用从特定XML节点获取的字符串填充它,如下面的伪代码示例所示:
let $array := array {}
for $child in $collection
where contains(data($child), "Hey")
do $array := array:append($array, data($child))
正确的代码会是什么样子来执行这样的操作?
所以如果我有这个XML
<root>
<child>Hey</child>
<child>Ho</child>
使用中的代码
<html>
<body>
<h1>Bookstore</h1>
<ul>
{
for $x in doc("books.xml")/bookstore/book
order by $x/title
return <li>{data($x/title)}. Category: {data($x/@category)}</li>
}
我从复制粘贴此示例(尽管我添加了名称空间声明):
declare namespace local="local";
declare function local:minPrice($p as xs:decimal?,$d as xs:decimal?) as
xs:decimal? {
let $disc := ($p * $d) div 100
return ($p - $disc)
};
但是,当我尝试运行它时,SAXON输出是:
Error on line 6 column 1 of newq.xq:
XPST0003 XQuery syntax erro
我正在尝试将以下MySQL查询的等价物获取到XQuery
SELECT S.Classification, COUNT(S.Classification) AS "No. Students", AVG(S.GPA) AS "AVG
Class. GPA"
FROM Student S
GROUP BY S.Classification
ORDER BY S.Classification ASC;
输出:
我的数据库如下所示:
CREATE TABLE 'Student' (
'StudentID' CHAR(9) NOT
我有一个XML文件,我一直试图同时用xQuery和XSLT进行转换。
该文档基本上按照TEI标准编码两种不同类型的文本。第一部分是我写的关于史诗的文献学研究,第二部分是这首诗的学术版本。
<text>
<front><!-- chapters of the study --></front>
<body>
<lg n="1">
<l n="1.a">first line of the poem</l>
<l n="1.a">second l
我正在尝试从XQuery调用一个JAVA方法。但它正在失败
我已经宣布全班同学:
declare namespace b64 = "java:java.util.Base64";
我称之为:
(: Encode a string into Base64 :)
declare function javautil:encodebase64($in as xs:string) as xs:string {
b64:getEncoder().encodeToString($in)
};
(: Decode a string from Base64 :)
declare fun
我在Oracle中编写了一个存储过程,用于读取带有名称空间的XML中的数据。
CREATE OR REPLACE PROCEDURE DynamicXQuery (fileName IN VARCHAR2)
AS
V_TransactionId VARCHAR2(50);
XPath VARCHAR2(200) := '/message/soap:Envelope/soap:Body/v01:recordTrans';
BEGIN
SELECT
X.trans_id
INTO
因为SQL Server2008没有Try_convert函数,所以我想实现它以便在我的项目中使用。(不,简单地更新到更新的版本不是一个选项)
问题是:如何将数据类型作为参数传递给函数?
或
更通用的是:变量需要什么样的条目类型才能保存数据类型?
基本上,我想构建一个这样的函数:
CREATE FUNCTION my_Try_Convert
(
-- Add the parameters for the function here
@value varchar(max),@entrytype type,
@format int = NULL
)
RETURNS ty
我正在向开发动态sql查询迈出我的第一步,我在论坛上有一个问题。连接的select语句是否可以附加附加的连接语句(参见下面的代码)?
use test;
drop procedure if exists test.spds;
delimiter $$
create procedure test.spds (
xage varchar(75),
xgender varchar(2),
xquery varchar(254))
begin
set @xan:= REPLACE(xage,'''','');
set @xgn:= REPLACE(xge
我正在处理FLWOR表达式,并且希望在代码中使用XQuery by。但每次我使用group by "XPST0003:要使用API3.0语法,您必须在XQuery和命令行或XQuery中请求XQuery版本3.0“时,它都会给我这个错误。
请帮帮我。我目前使用的是SAXON version 1.0或XQuery -EE XQuery 9.5.1.2。我使用氧气来达到这个目的。
我对XQJ和eXist有一个问题。每当我试图在eXist db中查询我的文件时,我都会得到一个
XQJTO013 - org.xml.sax.SAXParseException; lineNumber: 928; columnNumber: 354; The reference to entity "quotDer" must end with the ';' delimiter.
以及整个文档中的其他几个分隔符异常,无论何时使用" ( &不会引发错误)。
但是,在文档中,";“设置在"后面,当我使用eX