title: How to have multiple elements and in any order using ALL in XSD schema
body: <p>To most of you this question may be repeatable. But, i have searched a lot on the website but could not find a solution which fits my requirements. For example consider a XML like:</p>
  
  <pre><code>&lt;root&gt;
  &lt;A/&gt;
  &lt;B/&gt;
  &lt;C/&gt;
  &lt;D/&gt;
  &lt;D/&gt;
  &lt;/root&gt;
  </code></pre>
  
  <p>the objective is to achieve a schema which can allow A,B and C only once and they are mandatory and D multiple time(that is optional).
  In the earlier post , i have seen solutions using Choice, but if choice is used here then a XML like this  would be validated-</p>
  
  <pre><code>&lt;root&gt;
  &lt;A/&gt;
  &lt;D/&gt;
  &lt;/root&gt;
  </code></pre>
  
  <p>The above XML is wrong since mandatory elements B and C are omitted if CHOICE is used. I can only use XSD 1.0.
  Any help to solve this issue is highly appreciated.</p>
  
  <p>Thanks</p>