在oXygen中运行XQuery 3.1时能否构建并保存输出文档?
在oXygen中用XQuery自动保存生成的HTML到本地目录
背景(eXist-DB中的可行方案)
在eXist-DB中运行XQuery时,可将HTML框架和FLWOR查询结果整合为变量,再通过xmldb:store()将内容保存到数据库指定路径,示例代码如下:
declare variable $ThisFileContent:= <html><head></head><body>{FLWOR statement here}</body></html>; let $filename := "term-finder-output.html" let $doc-db-uri := xmldb:store("/db/myOutput", $filename, $ThisFileContent, "html") return $doc-db-uri
执行这段代码后,会在指定数据库路径创建并保存生成的HTML文件。
当前问题
需要在本地无数据库的oXygen环境中实现相同的自动保存功能,但oXygen无法识别xmldb:store()。尝试过oxygen:store()、fn:store()、saxon:store()及直接调用store(),均未生效,推测可能缺少正确的命名空间声明。
核心需求是:在XQuery中实现类似XSLT里xsl:result-document的功能——自动将生成的HTML输出保存到本地常规目录。
曾发现2007年有讨论将此功能纳入Saxon,但未找到后续更新信息。
需求原因
虽然可通过oXygen XQuery调试器的下拉窗口手动保存输出,但项目中存在多个XQuery脚本时,容易混淆生成的HTML对应的脚本,导致保存错误。希望通过XQuery代码内置逻辑自动完成保存操作,避免人为失误。
内容的提问来源于stack exchange,提问作者haggis78
相关产品推荐
相关产品推荐

