* Pavol Rusnak wrote: >I would like to ask, what is the correct behaviour of RelaxNG >interleave? Suppose we have the following example:
The specification http://relaxng.org/spec-20011203.html#IDA2Z0R or http://books.xmlschemata.org/relaxng/relax-CHP-6-SECT-7.html should answer this. It seems you have found a bug in libxml2-2.6.27. >blueA = element blueA { empty } >blueB = element blueB { empty } >redA = element redA { empty } >redB = element redB { empty } > >blue = blueA? & blueB? >red = redA? & redB? > >profile_current = blue & red >start = element profile { > profile_current >} > >Then is the following XML valid? > ><profile> > <blueA/><redA/><blueB/><redB/> ></profile> Yes it is. Your test case somewhat simplified: a = element a { empty } b = element b { empty } c = element c { empty } d = element d { empty } e = a & b f = c & d start = element root { e & f } along with <root><a/><c/><b/><d/></root> MSV and Jing will correctly validate this document, but the current version of libxml2 rejects it. If you want some other behavior, you cannot use <interleave> directly. -- Björn Höhrmann · mailto:[EMAIL PROTECTED] · http://bjoern.hoehrmann.de Weinh. Str. 22 · Telefon: +49(0)621/4309674 · http://www.bjoernsworld.de 68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/ _______________________________________________ xml mailing list, project page http://xmlsoft.org/ [email protected] http://mail.gnome.org/mailman/listinfo/xml
