我想根据存储在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)
所以它在解码二进制文件时给出错误。
答案 0 :(得分:0)
如果RelaxNG模式是紧凑模式,则第三个参数必须是true()
。