簡體   English   中英

如何通過eXist-db的REST api傳遞xquery?

[英]How do I pass xquery through eXist-db's REST api?

我理解如何使用Xpath

http://localhost:8080/exist/rest/db/movies?_query=//movie[title=%22Spider-Man%22]/node()

但是如何傳遞xquery查詢? 我一直在閱讀REST api適用於xpath和xquery,但我無法讓我的查詢工作。 這是我試圖傳遞的例子(我在xquery沙箱中測試了它並且它可以工作):

for $movie in doc("movies/movies.xml")/movies/movie[year > 2002]
    return <movie> { ($movie/title, $movie/year) } </movie>

如何在URL中傳遞此內容? 我真的不知道從哪里開始,所以我嘗試將上面的查詢粘貼為GET參數,類似於xpath查詢。 所以我通過的網址是

http://localhost:8080/exist/rest/db/movies/?_query=for%20$movie%20in%20doc(%22movies/movies.xml%22)/movies/movie[year%20%3E%202002]%20return%20%3Cmovie%3E%20{%20($movie/title,%20$movie/year)%20}%20%3C/movie%3E

我得到的頁面就是這個 頁面回復

我是否完全錯誤地采取了這種方式? “電影”是我的數據庫中的一個集合。 在此輸入圖像描述

看起來您的查詢已成功執行。 <exist:result/>元素看起來非常正確,但它根本找不到符合您的過濾條件的電影。 它也可能是名稱空間問題。 您應該在本地嘗試查詢以查看它是否返回了某些內容。

你的<script id="tinyhippos-injected"/>元素相當奇怪,因為我沒想到這里有<script id="tinyhippos-injected"/> 但是,這似乎是由於您使用的某些Chrome擴展程序

此外,如果您的XQuery有點長,則URL參數不會執行,並且編碼很難讀取和維護。 您可能希望查看有關如何使用XQuery提交POST請求的eXist文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM