0

現在、XQuery エンジンZorbaでEclipses XQuery プラグインxqdtを使用しています。

XQuery エンジンに XPath 式の正確さを「型チェック」してもらいたいです。たとえば、スキーマでビデオ/ビデオが許可されているが、ビデオ/写真は許可されていない場合、インタープリターは後者の XPath 式が無効であることを警告する必要があります。

Schema-Aware Queries and Stylesheets のチュートリアルに従おうとしましたが、うまくいきません。私のコード例では、チュートリアルのサンプルvideo.xmlとサンプルvideo.xsdを使用しています。

私の最初の例は、型エラーになります: import schema default element namespace "" at "videos.xsd";

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)

schema-element の代わりに element を使用して型をいじっても、video2 パスのスペルミスについて警告されず、何も出力されません。

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

Q: $input/videos/video2 が失敗する最小限の実例を教えてもらえますか?

更新: videos.xsdvideos.xmlに 名前空間を追加し、インポート スキーマを次のように変更しました。

import schema default element namespace "myVideos" at "videos.xsd";

、しかし成功しませんでした。

4

1 に答える 1