Altova Mailing List Archives>Archive Index >xml-dev Archive Home >Recent entries >Thread Prev - RELAX NG require oneOrMore optional elements [Thread Next] Re: [xml-dev] RELAX NG require oneOrMore optional elementsTo: XML Developers List <xml-dev@-----.---.---> Date: 7/15/2008 8:25:00 PM You can do it using two RELAX NG schemas. This sounds odd perhaps.
One schema is something like
<oneOrMore>
<choice>
<element name="child1"><text/></element>
<element name="child2"><text/></element>
..
</choice>
</oneOrMore>
(There might be a simpler way to do this with wildcards rather than
explicit naming.)
The other is
<sequence>
<optional>
<element name="child1"><text/></element>
</optional>
<optional>
<element name="child2"><text/></element>
</optional>
...
</sequence>
If you are using Schematron, just replace the first one by
<rule context="parent" >
<assert test="count(*) > 0">
The "parent" element should have at at least one child, for example
child1, child2, ...
</assert>
</rule>
Cheers
Rick Jelliffe | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
