How have you loaded the 'publishers-51cr.rnc' schema into database because i am loading the schama using function db:store so it is being loaded as binary then i am retrieving using function db:retrive so i it can be problem in loading the schema.
Yes, that’s fine. Have you tried to directly access the files, as described in my last mail?
On Wednesday, 21 June 2017 1:54 PM, Christian Grün christian.gruen@gmail.com wrote:
As Marc said, the third argument needs to be set to true.
I created a new 'onix' database with a single XML document and the passed on RelaxNG file, and the validatio could be successfully started (it stopped with the error message '[bxerr:BXVA0001] Validation failed', because my XML document did not match the schema.
What happens if you directly reference your XML document and RelaxNG file?
validate:rng('doc.xml','publishers-51cr.rnc',true())
On Wed, Jun 21, 2017 at 10:16 AM, Dharmendra Singh dharam.mahi@gmail.com wrote:
Hi Marc,
I have done as you said to use true() as third param but still i am getting the same error, below is my code.
let $binary := db:retrieve('onix','/relaxng/publishers-51cr.rnc') let $schema := bin:decode-string($binary) let $input := db:open('onix') return validate:rng($input,$schema,true())
On Wednesday, 21 June 2017 1:29 PM, Marc van Grootel marc.van.grootel@gmail.com wrote:
No problem. Just use the validate:rng#3. Provide true() as the third param and it should happily process compact syntax for you. Getting includes to work is a different matter though so your schema should probably be standalone. Otherwise, maybe, store the schemas on the filesystem.
Cheers, --Marc
On Wed, Jun 21, 2017 at 9:36 AM, Imsieke, Gerrit, le-tex gerrit.imsieke@le-tex.de wrote:
Hi Dharmendra,
The function validate:rng() seems to only accept a Relax NG *XML syntax* document as its 2nd argument. You can convert the rnc file to rng using trang and store it in the DB as a regular XML file.
Gerrit
On 6/21/17 8:20 AM, Dharmendra Singh wrote:
Hi all,
I have loaded the RNG schema using function db:store and also loaded the XML in the DB which has to be validated, but i am getting the error, below is my code:
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)
when i run this code i get the error invalid XML charcter(20)
so what i am doing wrong here.
-- Gerrit Imsieke Geschäftsführer / Managing Director le-tex publishing services GmbH Weissenfelser Str. 84, 04229 Leipzig, Germany Phone +49 341 355356 110, Fax +49 341 355356 510 gerrit.imsieke@le-tex.de, http://www.le-tex.de
Registergericht / Commercial Register: Amtsgericht Leipzig Registernummer / Registration Number: HRB 24930
Geschäftsführer: Gerrit Imsieke, Svea Jelonek, Thomas Schmidt, Dr. Reinhard Vöckler
-- --Marc