Good thing we have XML Schema elves:
<xs:element name="pizza"> <xs:complexType> <xs:sequence> <xs:choice> <xs:element ref="my:toppings"/> <xs:sequence> <xs:element name="half" form="qualified" minOccurs="2" maxOccurs="2"> <xs:complexType> <xs:sequence> <xs:element ref="my:toppings"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:choice> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="toppings"> <xs:complexType> <xs:sequence> <xs:element name="kind" form="qualified" maxOccurs="unbounded" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>