<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by Ulas (LTI) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified">
	<xs:element name="piece">
		<xs:complexType>
			<xs:choice minOccurs="0">
				<xs:element ref="plf"/>
			</xs:choice>
			<xs:attribute name="prob" type="xs:double" use="required"/>
			<xs:attribute name="low" type="xs:double" use="optional"/>
			<xs:attribute name="high" type="xs:double" use="optional"/>
			<xs:attribute name="nominal" type="xs:string" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="pud">
		<xs:complexType>
			<xs:sequence maxOccurs="unbounded">
				<xs:element ref="piece"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:simpleType name="ptype">
		<xs:annotation>
			<xs:documentation>Property Type</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="int"/>
			<xs:enumeration value="str"/>
			<xs:enumeration value="pl"/>
			<xs:enumeration value="plf"/>
			<xs:enumeration value="money"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="etype">
		<xs:annotation>
			<xs:documentation>Property Type</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="isA"/>
			<xs:enumeration value="requestOf"/>
			<xs:enumeration value="assignTo"/>
			<xs:enumeration value="fixTo"/>
			<xs:enumeration value="dist"/>
			<xs:enumeration value="nonoverlap"/>
			<xs:enumeration value="before"/>
			<xs:enumeration value="after"/>
			<xs:enumeration value="uses"/>
			<xs:enumeration value="assignment"/>
			<xs:enumeration value="distance"/>
			<xs:enumeration value="assignmentTerm"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="atype">
		<xs:annotation>
			<xs:documentation>Assoc Type</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="sharable"/>
			<xs:enumeration value="general"/>
			<xs:enumeration value="start"/>
			<xs:enumeration value="duration"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="availabilitytype">
		<xs:annotation>
			<xs:documentation>Types of availability for room properties</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="roomOnly"/>
			<xs:enumeration value="vendorOnly"/>
			<xs:enumeration value="roomAndVendor"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:element name="pdef">
		<xs:annotation>
			<xs:documentation>Node Property Definition</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence minOccurs="0" maxOccurs="unbounded">
				<xs:element name="value"/>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID" use="required"/>
			<xs:attribute name="type" type="ptype" use="required"/>
			<xs:attribute name="label" type="xs:string" use="optional"/>
			<xs:attribute name="hidden" type="xs:boolean" use="optional"/>
			<xs:attribute name="editable" type="xs:string" use="optional"/>
			<xs:attribute name="category" type="xs:string" use="optional"/>
			<xs:attribute name="serviceCategory" type="xs:string" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="epdef">
		<xs:annotation>
			<xs:documentation>Edge Property Definition</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="id" type="xs:ID" use="required"/>
			<xs:attribute name="type" type="ptype" use="required"/>
			<xs:attribute name="hidden" type="xs:boolean" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="number" type="xs:string"/>
	<xs:element name="image" type="xs:string">
		<xs:annotation>
			<xs:documentation>Deprecated</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="floor">
		<xs:annotation>
			<xs:documentation>Floor (UI-only)</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="number"/>
				<xs:element ref="image"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="assoc">
		<xs:annotation>
			<xs:documentation>Associates properties of rooms and requests</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="availability" type="availabilitytype" use="optional"/>
			<xs:attribute name="roomP" type="xs:IDREF" use="required"/>
			<xs:attribute name="requestWeight" type="xs:IDREF" use="required"/>
			<xs:attribute name="requestPref" type="xs:IDREF" use="required"/>
			<xs:attribute name="assocType" type="atype" default="general"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="v" type="xs:double"/>
	<xs:element name="v1">
		<xs:complexType mixed="true">
			<xs:sequence minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="pud"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="v2">
		<xs:complexType mixed="true">
			<xs:sequence minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="pud"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="plf">
		<xs:annotation>
			<xs:documentation>Piecewise linear function</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence maxOccurs="unbounded">
				<xs:element ref="v1"/>
				<xs:element ref="v2"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="p">
		<xs:annotation>
			<xs:documentation>Propery</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0">
				<xs:element ref="pud"/>
				<xs:element ref="plf"/>
			</xs:choice>
			<xs:attribute name="type" type="xs:IDREF" use="required"/>
			<xs:attribute name="inherited" type="xs:boolean" use="optional"/>
			<xs:attribute name="default" type="xs:boolean" use="optional"/>
			<xs:attribute name="priority" type="xs:int" use="optional"/>
		</xs:complexType>
	</xs:element>
	<!--	
	<xs:element name="p">
		<xs:complexType mixed="true">
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="type" type="xs:idref" use="required"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element> -->
	<xs:element name="ep">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0">
				<xs:element ref="pud"/>
				<xs:element ref="plf"/>
			</xs:choice>
			<xs:attribute name="type" type="xs:IDREF" use="required"/>
			<xs:attribute name="inherited" type="xs:boolean" use="optional"/>
			<xs:attribute name="default" type="xs:boolean" use="optional"/>
			<xs:attribute name="priority" type="xs:int" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="edge">
		<xs:annotation>
			<xs:documentation>Edge to another node</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="ep"/>
			</xs:choice>
			<xs:attribute name="id" type="xs:ID" use="optional"/>
			<xs:attribute name="type" type="etype" default="isA"/>
			<xs:attribute name="to" type="xs:IDREF" use="required"/>
			<xs:attribute name="inherited" type="xs:boolean" use="optional"/>
			<xs:attribute name="default" type="xs:boolean" use="optional"/>
			<xs:attribute name="priority" type="xs:int" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="node">
		<xs:complexType>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="p"/>
				<xs:element ref="edge"/>
				<xs:element name="slotlist">
				    <xs:complexType>
				        <xs:choice maxOccurs="unbounded" minOccurs="0">
				            <xs:element name="slot" minOccurs="1">
				                <xs:complexType>
				                    <xs:attribute name="prob" type="xs:double" use="required"/>
				                    <xs:attribute name="sCost" type="xs:double" use="required"/>
				                    <xs:attribute name="fCost" type="xs:double" use="required"/>
				                    <xs:attribute name="start" type="xs:integer" use="required"/>
				                </xs:complexType>
				            </xs:element>
				        </xs:choice>
				    </xs:complexType>
				</xs:element>
			</xs:choice>
			<xs:attribute name="active" type="xs:boolean" default="true"/>
			<xs:attribute name="id" type="xs:ID" use="required"/>
			<xs:attribute name="shownInGUI" type="xs:string" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="scenario">
		<xs:annotation>
			<xs:documentation>Name has first, middle, then last name.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="pdef"/>
				<xs:element ref="epdef"/>
				<xs:element ref="node"/>
				<xs:element ref="floor"/>
				<xs:element ref="assoc"/>
			</xs:choice>
		</xs:complexType>
	</xs:element>
</xs:schema>
