<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.xsd2jsonschema.org/test" version="1.1.0" 
	xmlns="http://www.xsd2jsonschema.org/test" 
	xmlns:xs="http://www.w3.org/2001/XMLSchema">
		<xs:annotation>
			<xs:documentation>Example of Sibling Choice.  This example has two of JSON Schema's anyOf in XML Schema within the same sequence tag.</xs:documentation>
		</xs:annotation>
		<xs:complexType name="SiblingAnyOfChoiceType">
			<xs:sequence>
				<xs:choice>
					<xs:sequence>
						<xs:element name="OptionB" type="xs:string"/>
						<xs:element name="OptionA" type="xs:string" minOccurs="0"/>
					</xs:sequence>
					<xs:element name="OptionA" type="xs:string"/>
				</xs:choice>
				<xs:element name="Separator1" type="xs:string"/>
				<xs:element name="Separator2" type="xs:boolean"/>
				<xs:choice>
					<xs:sequence>
						<xs:element name="Option3" type="xs:string" />
						<xs:element name="Option2" type="xs:string" minOccurs="0" />
						<xs:element name="Option1" type="xs:string" minOccurs="0" />
					</xs:sequence>
					<xs:sequence>
						<xs:element name="Option2" type="xs:string" />
						<xs:element name="Option1" type="xs:string" minOccurs="0" />
					</xs:sequence>
					<xs:element name="Option1" type="xs:string" />
				</xs:choice>
			</xs:sequence>
		</xs:complexType>
		<xs:complexType name="ReqularAnyOfChoiceType">
			<xs:sequence>
				<xs:choice>
					<xs:sequence>
						<xs:element name="Option2" type="xs:string"/>
						<xs:element name="Option1" type="xs:string" minOccurs="0"/>
					</xs:sequence>
					<xs:element name="Option1" type="xs:string"/>
				</xs:choice>
			</xs:sequence>
		</xs:complexType>
		<xs:complexType name="SiblingChoice1Type">
			<xs:sequence>
				<xs:choice>
					<xs:sequence>
						<xs:element name="OptionE" type="xs:string"/>
						<xs:element name="OptionD" type="xs:string"/>
						<xs:element name="OptionC" type="xs:string" minOccurs="0"/>
					</xs:sequence>
					<xs:element name="OptionC" type="xs:string"/>
					<xs:element name="OptionB" type="xs:string"/>
					<xs:element name="OptionA" type="xs:boolean"/>
				</xs:choice>
				<xs:choice>
					<xs:sequence>
						<xs:element name="Option7" type="xs:string" />
						<xs:element name="Option6" type="xs:string" />
						<xs:element name="Option5" type="xs:string" minOccurs="0" />
					</xs:sequence>
					<xs:sequence>
						<xs:element name="Option4" type="xs:string" />
						<xs:element name="Option3" type="xs:string" />
						<xs:element name="Option2" type="xs:string" />
					</xs:sequence>
					<xs:element name="Option1" type="xs:string" />
					<xs:element name="Option0" type="xs:string" />
				</xs:choice>
			</xs:sequence>
		</xs:complexType>
		<xs:complexType name="SiblingChoice2Type">
			<xs:sequence>
				<xs:choice>
					<xs:element name="OptionE" type="xs:string"/>
					<xs:element name="OptionD" type="xs:string"/>
					<xs:element name="OptionC" type="xs:string"/>
					<xs:element name="OptionB" type="xs:string"/>
					<xs:element name="OptionA" type="xs:boolean"/>
				</xs:choice>
				<xs:choice>
					<xs:element name="Option7" type="xs:string" />
					<xs:element name="Option6" type="xs:string" />
					<xs:element name="Option5" type="xs:string" minOccurs="0" />
					<xs:element name="Option4" type="xs:string" />
					<xs:element name="Option3" type="xs:string" />
					<xs:element name="Option2" type="xs:string" />
					<xs:element name="Option1" type="xs:string" />
					<xs:element name="Option0" type="xs:string" />
				</xs:choice>
			</xs:sequence>
		</xs:complexType>
		<xs:complexType name="ReqularChoiceType">
			<xs:sequence>
				<xs:choice>
					<xs:element name="Option3" type="xs:string"/>
					<xs:element name="Option2" type="xs:string" minOccurs="0"/>
					<xs:element name="Option1" type="xs:string"/>
				</xs:choice>
			</xs:sequence>
		</xs:complexType>
</xs:schema>