Xml XQuery请求打开整个文件
下面是我的代码,它旨在创建一个XQuery请求,以便在xml文档(personne.xml,如下所示)中查找一个单词,但我有一个问题:变量Xml XQuery请求打开整个文件,xml,xquery,basex,Xml,Xquery,Basex,下面是我的代码,它旨在创建一个XQuery请求,以便在xml文档(personne.xml,如下所示)中查找一个单词,但我有一个问题:变量$var包含整个xml文件,即使我选择了节点$books doc/Dictionnaire/mot declare namespace page='1〕http://basex.org/modules/web-page/traitement.xq'; 声明 %其余:路径(“”) %输出:方法(“xhtml”) %输出:省略xml声明(“否”) %输出:doct
$var
包含整个xml文件,即使我选择了节点$books doc/Dictionnaire/mot
declare namespace page='1〕http://basex.org/modules/web-page/traitement.xq';
声明
%其余:路径(“”)
%输出:方法(“xhtml”)
%输出:省略xml声明(“否”)
%输出:doctype public(“-//W3C//DTD XHTML1.0//EN”)
%输出:doctype系统(“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd")
函数页:start()作为元素(Q{http://www.w3.org/1999/xhtml}(html)
{
莫特酒店
我的字典
维列兹·克莱尔·莫塔·切切尔
Votre mot:
};
声明
%rest:path(“/traitement”)
%其余:邮递
%其余:表格参数(“mot”、“{$mot}”、“(无mot)”)
函数页:recherche($mot作为xs:string)作为元素(Q{http://www.w3.org/1999/xhtml}(html)
{
莫特记录:{$mot}
莫特记录:{$Mot}
出租服装:
{
let$books doc:=doc(“personne.xml”)
对于$books doc/Dictionnaire/mot中的$var
返回
如果($var/genre!=$mot),则
{$var/genre}
其他的
{$var/genre}
}
};
第页:开始()
XML文件personne.XML:
Mot 1
会议1
Def 1
运动2
会议2
Def 2
这是一个名称空间问题。在以下位置包含默认命名空间:
<html xmlns="http://www.w3.org/1999/xhtml">
您要么必须定义正确的名称空间,要么可以使用通配符运算符,例如
将函数页:recherche($mot as xs:string)声明为元素(Q{http://www.w3.org/1999/xhtml}(html)
{
莫特记录:{$mot}
莫特记录:{$Mot}
出租服装:
{
let$books doc:=doc(“personne.xml”)
对于$books doc/*:Dictionnaire/*:mot中的$var
返回
如果($var/*:流派!=$mot),那么
{$var/*:流派}
其他的
{$var/*:流派}
}
};
顺便说一下,您不应该将自己的代码放在“外来”名称空间下。使用您自己的域。您还应该考虑设置<代码>输出:< /Cord>注释> <代码>页:ReChChe函数,特别是至少应该将输出的MIME类型设置为<代码>文本/HTML<代码>或<代码>应用程序/XML+XHTML< /代码>。谢谢您的回答,它工作得很好。我很感激。@user3346640很高兴它起作用了。你能接受这个答案吗?