Comment définir plusieurs éléments avec le même nom, mais un type différent dans l'élément xsd: choice?

Est-il possible, d'une certaine façon, de définir un schéma xsd qui a pu valider une telle xml:

<item_list>
  <item ItemType="SimpleMessage" Caption="Simplest message"/>
  <item ItemType="ComplexMessage" SomeAttr="value">
    <item_data>some text</item_data>
  </item>
</item_list>

Problème est que je havn'trouverez pas de possibilité de définir qch comme:

  <xsd:element name="Items">
      <xsd:complexType>
        <xsd:choice>
          <xsd:element name="item" type="SimpleMessType"/>
          <xsd:element name="item" type="ComplexMessType"/>
        </xsd:choice>
      </xsd:complexType>
  </xsd:element>

Mais j'ai besoin de vérifier, que SimpleMessage n'a pas d'enfant des éléments supplémentaires ou attrs 🙁

source d'informationauteur Nikolay Ponomarenko