Ich habe es selbst herausgefunden.
Der Unterschied zwischen meinen Beispielen ist auf den ersten Blick nicht sehr offensichtlich, aber wenn das Beispiel ein wenig komplexer gewesen wäre, hätte es Sinn ergeben.
die folgende Erweiterung verdeutlicht die Unterschiede:
<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>
führt zu
<XList>
<X>Only X</X>
<Y>Only Y</Y>
</XList>
während
<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>
führt zu
<XList>
<X>First X</X>
<X>Second X</X>
<X>Third X</X>
...
<Y>First Y</Y>
<Y>Second Y</Y>
...
</XList>
und
<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>
führt zu
<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>
und
<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>
führt zu
<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>