在 BaseX 数据库中使用 RelaxNG 验证 XML

validate XML with RelaxNG in BaseX DB

我想根据存储在 BaseX 数据库中的 RelaxNG 模式验证 XML。

我还在数据库中存储了 RelaxNG 模式,但是当我验证它时抛出以下错误。

验证码:

let $binary := db:retrieve('onix','/relaxng/publishers-51cr.rnc')
let $schema := bin:decode-string($binary)
return 
let $input := db:open('onix')
return validate:rng($input, $schema)

当我 运行 查询时,它抛出错误:

Invalid XML character(20)

所以它在解码二进制文件时出错。

如果 RelaxNG 模式是紧凑模式,则第三个参数必须是 true()