<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:element name="DualityModel">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Decrement"/>
				<xs:element ref="Increment"/>
			</xs:sequence>
			<xs:attribute name="name" use="required"/>
			<xs:attribute name="id" type="xs:ID" use="required"/>
			<xs:attribute name="dualityType" use="required">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="GiveTake"/>
						<xs:enumeration value="UseProduce"/>
						<xs:enumeration value="ConsumeProduce"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="EntitySet">
		<xs:sequence>
			<xs:element ref="EconomicEvent" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="Decrement" type="EntitySet"/>
	<xs:element name="Increment" type="EntitySet"/>
	<xs:element name="EconomicEvent">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="InsideAgent" maxOccurs="unbounded"/>
				<xs:element ref="OutsideAgent" minOccurs="0"/>
				<xs:element ref="EconomicResource" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="name" type="xs:string" use="required"/>
			<xs:attribute name="isSeries" type="xs:boolean" default="false"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="OutsideAgent">
		<xs:complexType>
			<xs:attribute name="name" type="xs:string" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="InsideAgent">
		<xs:complexType>
			<xs:attribute name="name" type="xs:string" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="EconomicResource">
		<xs:complexType>
			<xs:attribute name="name" type="xs:string" use="required"/>
			<xs:attribute name="resourceRef" type="xs:IDREF" use="required"/>
			<xs:attribute name="isSeries" type="xs:boolean" default="false"/>
		</xs:complexType>
	</xs:element>
</xs:schema>

