On July 16, 2008 6:26:16 AM +1000 Rick Jelliffe <>
wrote:
> You can do it using two RELAX NG schemas. This sounds odd perhaps.
>
> One schema is something like
> <oneOrMore>
> <choice>
...
> The other is
> <sequence>
> <optional>
> <element name="child1"><text/></element>
> </optional>
> <optional>
> <element name="child2"><text/></element>
> </optional>
> ...
> </sequence>
What does <sequence> do? I can't find documentation of it. It
would appear to do the same thing as <group>. (In addition to an
explanation, a pointer to a doc would be great as well.)
It seems for this idea (which I do like!), I would have to have two
distinct schemas against which to validate. I think I'll pursue the
schematron method since that looks like it can be embedded directly
in the RNG schema. I still would have to validate the xml twice, but
the "rules" would all be expressed in a single schema doc, which will
be better for my application, and also it will be a lot more concise.
Thanks all for quick and useful answers. wow.
-frank
ps. in case anyone knows python-lxml, can i pass it an RNG schema and
get back an "expanded" etree? ie, with all "refs" dereferenced.