这个
expand-xincludes
serialization parameter
是特定于现有的,因此(或至少目前)不能使用
fn:serialize()
功能。相反,使用
util:serialize()
function
:
util:serialize($document, "expand-xincludes=no")
或者,由于您最终对压缩集合的内容感兴趣,可以跳过显式序列化步骤,在查询的prolog中声明序列化选项(或使用
util:declare-option()
,并简单地提供
compression:zip()
function
要压缩的集合/文档的URI路径。例如:
xquery version "3.1";
declare option exist:serialize "expand-xincludes=no";
let $sources := "/db/apps/my-app/my-data" (: or a sequence of paths to individual docs:) ! xs:anyURI(.)
let $preserve-collection-structure := false()
let $zip := compression:zip($sources, $preserve-collection-structure),
return
xmldb:store("/db", "my-data.zip", $zip)
有关现有序列化选项的详细信息,请参阅我以前对类似问题的回答:
https://stackoverflow.com/a/49290616/659732
.