gpt4 book ai didi

xml - Xquery 中 NameSpace 导入的问题

转载 作者:行者123 更新时间:2023-12-04 17:05:57 24 4
gpt4 key购买 nike

我正在尝试导入我的命名空间,但由于某种原因它不会让步。
我试过这个以及添加路径

import schema namespace r = "http://www.w3.org/2001/XMLSchema" at "Assignment-Xquery3.xsd";

我不断收到此错误:
Error in schema http://www.w3.org/2001/XMLSchema: No valid schema was found

我也厌倦了“-Instance”,但没有运气。我运行 Saxon EE。我试图添加我的文件路径。我不知道怎么了,这是我老师给我们提供的模板。

如果需要,我的其余代码:
import schema namespace r = "http://www.w3.org/2001/XMLSchema" at "Assignment-Xquery3.xsd";
<provider>{
for $r in
distinc-values(doc("instance.xml")/r:patient/r:treatment/r:provider)
return
<info>
<patient>{string($r)}</patient>
{for $rr in doc("instance.xml"/r:patient
where $r = $rr/r:treatment}
return
<treatment>
<id>{$rr/r:id/text()}</id>
<diagnosis>{$rr/r:diagnosis/text()}</diagnosis>
<drug>{$rr/r:drug/text()}</drug>
</treatment>

</info>
}</provider>

This is the template my teacher provided us

最佳答案

不是很清楚你想要达到什么目的,但很清楚你做错了什么。

当你写

import schema namespace r = "http://www.w3.org/2001/XMLSchema" at "Assignment-Xquery3.xsd";

你是

(a) 尝试在“Assignment-Xquery3.xsd”位置加载模式。那可能没问题;我敢说那个位置可能有一个有效的模式。

(b) 断言该位置的架构具有“ http://www.w3.org/2001/XMLSchema”的目标命名空间。这似乎不太可能,因为用户编写的应用程序不太可能想要访问模式文档的模式。

(c) 将前缀“r”绑定(bind)到该命名空间。这似乎又是不可信的,(i) 因为人们用于该命名空间的常用前缀是“xs”或“xsd”,以及 (ii) 因为您继续使用名称 r:treatment ,并且这个命名空间中肯定没有本地名称为“treatment”的名称。

我强烈怀疑,尽管我不能确定,您根本不想导入模式;您只想将前缀“r”绑定(bind)到某个命名空间(也许是 http://www.example.org/review ,但我们不能确定)。如果是这种情况,那么您只需要
declare namespace r = "http://www.example.org/review";

关于xml - Xquery 中 NameSpace 导入的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60252618/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com