在BaseX DB中使用RelaxNG验证XML

时间:2017-06-19 10:40:22

标签: basex

我想根据存储在BaseX DB中的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)

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

  

无效的XML字符(20)

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

1 个答案:

答案 0 :(得分:0)

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