[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] RELAX NG require oneOrMore optional elements
- From: Rick Jelliffe <rjelliffe@allette.com.au>
- To: XML Developers List <xml-dev@lists.xml.org>
- Date: Wed, 16 Jul 2008 06:26:16 +1000
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
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]