Re: [xml-dev] RELAX NG require oneOrMore optional elements

From
Frank Cusack <>
To
Rick Jelliffe <>, XML Developers List <>
Date
2008-07-15T23:30:03Z
ID
<>
Thread
Re: [xml-dev] RELAX NG require oneOrMore optional elements
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.