Quoting Marco Monteiro (masm@acm.org):
"The resulting schema object is a representation of a simplified schema using Lisp objects, which has gone through most stages of simplification as described the Relax NG specification."
What does "through most stages" mean? What are the differences between the representation and what is described in the specification?
Sorry, the text is simply wrong. :-)
When I wrote that, cxml-rng did not perform simplification step 4.19. "define and ref elements" yet. Since then I fixed it to do so, because all following simplification steps and restriction checks are much easier when the spec has been followed completely.
In the released version, there should be no difference. I will fix the documentation.
(There are, of course, technical differences between the simplified grammar as described by the spec (which still uses an XML-like notation at that point) and the actual implementation (which uses Lisp-objects). For example, we use a slot called PATTERN-NAME rather than a child element `name'. There is also a special DEFN object sitting between REF and ELEMENT, but the exported API does not show that.)
d.