Return link 到存储在远程服务器上的 eXist 数据库中的文件
Return link to file stored in eXist db on remote server
我想知道如何 get/create 一个 url 到一个存储在 exist-db 中的文件。
如果我的本地主机上的 eXist-db 是 运行,我可以获得一个与此类似的 link 文件:
http://localhost:8080/exist/rest/db/junitReports/Report1.xml
但是如果exist-db在远程主机上怎么办呢?
我可以在 xQuery 中对该主机的 IP 地址进行硬编码,但我不想这样做。
有没有函数可以 return 我在 xquery 中的远程主机名或 IP 地址?
谢谢。
试试这个功能
request:get-服务器名称()
还有一些其他功能可能有用 - 从您的仪表板浏览 XQuery 函数文档应用程序中的请求模块。
我可以构建一个 URL 我可以使用 curl
和以下表达式:
concat(request:get-scheme(), "://", request:get-server-name(), ":",
request:get-server-port(), request:get-context-path(),
request:get-servlet-path(), document-uri(root($m)))
$m
是来自某个文档的节点。
这是一个完整的查询示例:
xquery version "3.0";
declare namespace config='http://exist-db.org/collection-config/1.0';
for $m in //config:collection
return concat(request:get-scheme(), "://", request:get-server-name(),
":", request:get-server-port(), request:get-context-path(),
request:get-servlet-path(), document-uri(root($m)))
在普通的 eXist 数据库上,上述查询将为数据库中存在的每个 .xconf
文件生成一个 URL。 (默认的 eXist 安装有很多。)这是我从中得到的 URL 的示例:
http://localhost:8080/exist/rest/db/system/config/db/collection.xconf
而且我可以直接在 URL 上使用 curl
来获取文档。或者我可以把它放在我的浏览器中。
我想知道如何 get/create 一个 url 到一个存储在 exist-db 中的文件。 如果我的本地主机上的 eXist-db 是 运行,我可以获得一个与此类似的 link 文件: http://localhost:8080/exist/rest/db/junitReports/Report1.xml
但是如果exist-db在远程主机上怎么办呢? 我可以在 xQuery 中对该主机的 IP 地址进行硬编码,但我不想这样做。 有没有函数可以 return 我在 xquery 中的远程主机名或 IP 地址?
谢谢。
试试这个功能 request:get-服务器名称()
还有一些其他功能可能有用 - 从您的仪表板浏览 XQuery 函数文档应用程序中的请求模块。
我可以构建一个 URL 我可以使用 curl
和以下表达式:
concat(request:get-scheme(), "://", request:get-server-name(), ":",
request:get-server-port(), request:get-context-path(),
request:get-servlet-path(), document-uri(root($m)))
$m
是来自某个文档的节点。
这是一个完整的查询示例:
xquery version "3.0";
declare namespace config='http://exist-db.org/collection-config/1.0';
for $m in //config:collection
return concat(request:get-scheme(), "://", request:get-server-name(),
":", request:get-server-port(), request:get-context-path(),
request:get-servlet-path(), document-uri(root($m)))
在普通的 eXist 数据库上,上述查询将为数据库中存在的每个 .xconf
文件生成一个 URL。 (默认的 eXist 安装有很多。)这是我从中得到的 URL 的示例:
http://localhost:8080/exist/rest/db/system/config/db/collection.xconf
而且我可以直接在 URL 上使用 curl
来获取文档。或者我可以把它放在我的浏览器中。