<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns:this="www.example.org/list/simpletype"
 targetNamespace="www.example.org/list/simpletype">

<xsd:simpleType name="listLength">
	<xsd:restriction>
		<xsd:simpleType>
			<xsd:list>
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:length value="4" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:list>    
		</xsd:simpleType>
		<xsd:length value="3"/>
	</xsd:restriction>
</xsd:simpleType>

<xsd:element name="SimpleListEnumeration">
	<xsd:simpleType>
		<xsd:list>
			<xsd:simpleType>
				<xsd:restriction base="string">
					<xsd:enumeration value="Red"/>
					<xsd:enumeration value="Orange"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:list>
	</xsd:simpleType>
</xsd:element>

<xsd:element name="SimpleListUnion">
	<xsd:simpleType>
		<xsd:list>
			<xsd:simpleType>
				<xsd:union>
					<xsd:simpleType>
						<xsd:restriction base="boolean" />
					</xsd:simpleType>
					<xsd:simpleType>
						<xsd:restriction base="float" />
					</xsd:simpleType>
				</xsd:union>
			</xsd:simpleType>
		</xsd:list>
	</xsd:simpleType>
</xsd:element>

<xsd:element name="SimpleListEnumerationNumber">
	<xsd:simpleType>
		<xsd:list>
			<xsd:simpleType>
				<xsd:restriction base="xsd:integer">
				<xsd:enumeration value="0"/>
				<xsd:enumeration value="5"/>
				<xsd:enumeration value="-5"/>
				<xsd:enumeration value="10"/>
				</xsd:restriction>
			</xsd:simpleType> 
		</xsd:list>
	</xsd:simpleType>
</xsd:element>

<xsd:element name="ComplexListUnionEnumeration">
	<xsd:complexType>
		<xsd:sequence>
			<xsd:element name="ListEnumeration">
				<xsd:simpleType>
					<xsd:list>
						<xsd:simpleType>
							<xsd:restriction base="string">
								<xsd:enumeration value="Red"/>
								<xsd:enumeration value="Orange"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:list>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ListUnion">
				<xsd:simpleType>
					<xsd:list>
						<xsd:simpleType>
							<xsd:union>
								<xsd:simpleType>
									<xsd:restriction base="boolean" />
								</xsd:simpleType>
								<xsd:simpleType>
									<xsd:restriction base="float" />
								</xsd:simpleType>
							</xsd:union>
						</xsd:simpleType>
					</xsd:list>
				</xsd:simpleType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
</xsd:element>

<xsd:element name="ElementWithList">
	<xsd:simpleType>
		<xsd:restriction>
			<xsd:simpleType>
				<xsd:list itemType="xsd:float" />
			</xsd:simpleType>
			<xsd:minLength value="3" />
			<xsd:maxLength value="3" />
		</xsd:restriction>
	</xsd:simpleType>
</xsd:element>

<xsd:element name="MyType">
	<xsd:simpleType>
		<xsd:union>
			<xsd:simpleType>
				<xsd:restriction base="boolean" />
			</xsd:simpleType>
			<xsd:simpleType>
				<xsd:list itemType="integer" />
			</xsd:simpleType>
			<xsd:simpleType>
				<xsd:list itemType="float" />
			</xsd:simpleType>
		</xsd:union>
	</xsd:simpleType>
</xsd:element> 



</xsd:schema>
