<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 (http://www.altova.com) by Gus Gassmann (Dalhousie University) -->
<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Jun Ma (Northwestern University) -->
<xs:schema targetNamespace="os.optimizationservices.org" xmlns="os.optimizationservices.org" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<!--OSsL.xsd: version - 1.0.0-->
	<xs:element name="ossl" type="OSsL">
		<xs:annotation>
			<xs:documentation>finalization</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSsL">
		<xs:annotation>
			<xs:documentation>finalization</xs:documentation>
		</xs:annotation>
		<xs:all>
			<xs:element name="input" type="SimulationInput" minOccurs="0">
				<xs:annotation>
					<xs:documentation>finalization</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="output" type="SimulationOutput" minOccurs="0">
				<xs:annotation>
					<xs:documentation>finalization</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:all>
	</xs:complexType>
	<xs:complexType name="Simulations">
		<xs:annotation>
			<xs:documentation>finalization</xs:documentation>
		</xs:annotation>
		<xs:sequence minOccurs="0">
			<xs:annotation>
				<xs:documentation>Number the simulation child elements must match numberOfSimulations</xs:documentation>
			</xs:annotation>
			<xs:element name="simulation" type="Simulation" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="numberOfSimulations" type="xs:nonNegativeInteger" use="required"/>
	</xs:complexType>
	<xs:complexType name="SimulationInput">
		<xs:annotation>
			<xs:documentation>finalization</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="el" type="SimulationElement" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>finalization</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SimulationOutput">
		<xs:annotation>
			<xs:documentation>finalization</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="el" type="SimulationElement" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>finalization</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SimulationElement">
		<xs:annotation>
			<xs:documentation>finalization</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="name" type="xs:ID" use="required"/>
				<xs:attribute name="type" use="optional" default="string">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="string"/>
							<xs:enumeration value="link"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="Simulation">
		<xs:annotation>
			<xs:documentation>finalization</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="uri" type="SimulationURI"/>
			<xs:element name="ossl" type="OSsL"/>
		</xs:sequence>
		<xs:attribute name="name" type="xs:ID" use="required"/>
	</xs:complexType>
	<xs:complexType name="SimulationURI">
		<xs:annotation>
			<xs:documentation>finalization</xs:documentation>
		</xs:annotation>
		<xs:attribute name="value" type="xs:anyURI" use="required"/>
	</xs:complexType>
</xs:schema>
