首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模式感知XQuery

模式感知XQuery
EN

Stack Overflow用户
提问于 2014-02-14 16:02:08
回答 1查看 450关注 0票数 0

目前,我正在使用Eclipses插件xqdt和XQuery引擎佐尔巴

我希望XQuery引擎“键入”我的XPath表达式的正确性,例如,如果模式定义了视频/视频,但是视频/图片是不允许的,那么解释器应该警告后一个XPath表达式无效。

我试着遵循模式感知查询和样式表教程,但我无法让它开始工作。我的代码示例使用本教程中的示例video.xml和示例video.xsd

我的第一个简化的示例导致了一个类型错误:导入模式默认元素命名空间"“在"videos.xsd";

代码语言:javascript
复制
1   import schema default element namespace "" at "videos.xsd";
2
3   declare variable $input as schema-element(result) := doc('videos.xml')/*;
4   for $v in $input/videos/video
5   return $v
 ...\XQqueryProject\videos.xq>:3,1: type error [err:XPTY0004]: 
element(result, xs:untyped) can not be treated as type schema-element(result)

使用类型,使用元素而不是模式元素并不会警告我拼写错误的video2路径,也不会打印任何内容:

代码语言:javascript
复制
import schema default element namespace "" at "videos.xsd";

declare variable $input as element(result) := doc('videos.xml')/*;
for $v in $input/videos/video2
return $v

问:能为我提供一个最低限度的工作示例,其中$input/视频/video2 2会失败吗?

更新:--我向videos.xsdvideos.xml添加了名称空间,并将导入模式更改为

代码语言:javascript
复制
import schema default element namespace "myVideos" at "videos.xsd";

但没有成功。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-14 19:52:39

XQDT和Zorba都不支持XPath表达式wrt的静态验证。模式。围绕这一主题进行了相当多的研究,但是(afaik)还没有把它变成一个产品。

例如,您可以与http://wam.inrialpes.fr/websolver/的人员联系,查看该项目的状态。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21783911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档