Je me suis découvert.
La différence entre mes exemples n'est pas très évidente au premier coup d'œil, mais si l'exemple avait été un peu plus complexe, cela aurait du sens.
L'extension suivant précise les différences:
<xsd:element name="XList">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="X" type="xsd:token"
minOccurs="1" maxOccurs="1"/>
<xsd:element name="Y" type="xsd:token"
minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
conduit à
<XList>
<X>Only X</X>
<Y>Only Y</Y>
</XList>
alors
<xsd:element name="XList">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="X" type="xsd:token"
minOccurs="1" maxOccurs="unbounded"/>
<xsd:element name="Y" type="xsd:token"
minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
conduit à
<XList>
<X>First X</X>
<X>Second X</X>
<X>Third X</X>
...
<Y>First Y</Y>
<Y>Second Y</Y>
...
</XList>
et
<xsd:element name="XList">
<xsd:complexType>
<xsd:sequence minOccurs="1" maxOccurs="unbounded" >
<xsd:element name="X" type="xsd:token"
minOccurs="2" maxOccurs="2"/>
<xsd:element name="Y" type="xsd:token"
minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
conduit à
<XList>
<X>First X</X>
<X>Second X</X>
<Y>First Y</Y>
<X>Third X</X>
<X>Fourth X</X>
<Y>Second Y</Y>
...
</XList>
et
<xsd:element name="XList">
<xsd:complexType>
<xsd:sequence minOccurs="1" maxOccurs="unbounded" >
<xsd:element name="X" type="xsd:token"
minOccurs="1" maxOccurs="unbounded"/>
<xsd:element name="Y" type="xsd:token"
minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
conduit à
<XList>
<X>First X</X>
<X>Second X</X>
<X>Third X</X>
...
<Y>First Y</Y>
<Y>Second Y</Y>
...
<X>Fourth X</X>
<X>Fifth X</X>
<X>Sixth X</X>
...
<Y>Third Y</Y>
<Y>Fourth Y</Y>
...
</XList>