<?xml version="1.0" encoding="utf-8"?>
<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Nishioka Yasuyuki (Hosei University) -->
<xsd:schema targetNamespace="http://www.oasis-open.org/committees/pps/schema/1.0" xmlns="http://www.oasis-open.org/committees/pps/schema/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<!-- Primitive Elements -->
	<xsd:complexType name="PrimitiveType">
		<xsd:sequence>
			<xsd:element ref="Compose" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Produce" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Consume" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Assign" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Relation" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Location" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Capacity" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Progress" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Spec" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Start" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="End" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Event" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Price" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Qty" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Duration" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Priority" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Display" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Description" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Author" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Date" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="key" type="xsd:long"/>
		<xsd:attribute name="id" type="xsd:string" use="required"/>
		<xsd:attribute name="version" type="xsd:string"/>
		<xsd:attribute name="name" type="xsd:string"/>
		<xsd:attribute name="parent" type="xsd:string"/>
		<xsd:attribute name="type" type="xsd:string"/>
		<xsd:attribute name="status" type="xsd:string"/>
		<xsd:attribute name="count" type="xsd:long"/>
		<xsd:attribute name="party" type="xsd:string"/>
		<xsd:attribute name="plan" type="xsd:string"/>
		<xsd:attribute name="order" type="xsd:string"/>
		<xsd:attribute name="item" type="xsd:string"/>
		<xsd:attribute name="resource" type="xsd:string"/>
		<xsd:attribute name="process" type="xsd:string"/>
		<xsd:attribute name="lot" type="xsd:string"/>
		<xsd:attribute name="task" type="xsd:string"/>
		<xsd:attribute name="operation" type="xsd:string"/>
	</xsd:complexType>
	<xsd:element name="Party" type="PrimitiveType"/>
	<xsd:element name="Plan" type="PrimitiveType"/>
	<xsd:element name="Order" type="PrimitiveType"/>
	<xsd:element name="Item" type="PrimitiveType"/>
	<xsd:element name="Resource" type="PrimitiveType"/>
	<xsd:element name="Process" type="PrimitiveType"/>
	<xsd:element name="Lot" type="PrimitiveType"/>
	<xsd:element name="Task" type="PrimitiveType"/>
	<xsd:element name="Operation" type="PrimitiveType"/>
	<!-- 5. Relational Elements -->
	<xsd:complexType name="RelationalType">
		<xsd:sequence>
			<xsd:element ref="Location" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Price" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Qty" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Char" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Duration" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Time" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Priority" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Display" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Description" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Author" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Date" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="key" type="xsd:long"/>
		<xsd:attribute name="id" type="xsd:string"/>
		<xsd:attribute name="version" type="xsd:string"/>
		<xsd:attribute name="name" type="xsd:string"/>
		<xsd:attribute name="type" type="xsd:string"/>
		<xsd:attribute name="value" type="xsd:double"/>
		<xsd:attribute name="disjunctive" type="xsd:string"/>
		<xsd:attribute name="party" type="xsd:string"/>
		<xsd:attribute name="plan" type="xsd:string"/>
		<xsd:attribute name="order" type="xsd:string"/>
		<xsd:attribute name="item" type="xsd:string"/>
		<xsd:attribute name="resource" type="xsd:string"/>
		<xsd:attribute name="process" type="xsd:string"/>
		<xsd:attribute name="lot" type="xsd:string"/>
		<xsd:attribute name="task" type="xsd:string"/>
		<xsd:attribute name="operation" type="xsd:string"/>
	</xsd:complexType>
	<xsd:element name="Compose" type="RelationalType"/>
	<xsd:element name="Produce" type="RelationalType"/>
	<xsd:element name="Consume" type="RelationalType"/>
	<xsd:element name="Assign" type="RelationalType"/>
	<xsd:element name="Relation" type="RelationalType"/>
	<!-- Specific Elements -->
	<xsd:complexType name="SpecificType">
		<xsd:sequence>
			<xsd:element ref="Location" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Price" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Qty" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Char" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Description" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Time" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Description" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Author" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Date" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="key" type="xsd:long"/>
		<xsd:attribute name="id" type="xsd:string"/>
		<xsd:attribute name="version" type="xsd:string"/>
		<xsd:attribute name="name" type="xsd:string"/>
		<xsd:attribute name="type" type="xsd:string"/>
		<xsd:attribute name="status" type="xsd:string"/>
		<xsd:attribute name="value" type="xsd:string"/>
		<xsd:attribute name="relative" type="xsd:string"/>
	</xsd:complexType>
	<xsd:element name="Location" type="SpecificType"/>
	<xsd:element name="Capacity" type="SpecificType"/>
	<xsd:element name="Progress" type="SpecificType"/>
	<xsd:element name="Spec" type="SpecificType"/>
	<!-- Eventual Elements -->
	<xsd:complexType name="EventualType">
		<xsd:sequence>
			<xsd:element ref="Duration" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Time" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Description" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Author" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Date" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="key" type="xsd:long"/>
		<xsd:attribute name="id" type="xsd:string"/>
		<xsd:attribute name="version" type="xsd:string"/>
		<xsd:attribute name="name" type="xsd:string"/>
		<xsd:attribute name="type" type="xsd:string"/>
		<xsd:attribute name="status" type="xsd:string"/>
		<xsd:attribute name="value" type="xsd:dateTime"/>
		<xsd:attribute name="condition" type="xsd:string"/>
		<xsd:attribute name="exclusive" type="xsd:string"/>
		<xsd:attribute name="unit" type="xsd:string"/>
		<xsd:attribute name="base" type="xsd:double"/>
	</xsd:complexType>
	<xsd:element name="Start" type="EventualType"/>
	<xsd:element name="End" type="EventualType"/>
	<xsd:element name="Event" type="EventualType"/>
	<xsd:element name="Price" type="EventualType"/>
	<!-- 8. Data Elements -->
	<!-- 8.1 qty -->
	<xsd:element name="Qty">
		<xsd:complexType>
			<xsd:attribute name="name" type="xsd:string"/>
			<xsd:attribute name="type" type="xsd:string"/>
			<xsd:attribute name="status" type="xsd:string"/>
			<xsd:attribute name="value" type="xsd:double"/>
			<xsd:attribute name="condition" type="xsd:string"/>
			<xsd:attribute name="exclusive" type="xsd:string"/>
			<xsd:attribute name="unit" type="xsd:string"/>
			<xsd:attribute name="base" type="xsd:double"/>
		</xsd:complexType>
	</xsd:element>
	<!-- 8.3 char -->
	<xsd:element name="Char">
		<xsd:complexType>
			<xsd:attribute name="name" type="xsd:string"/>
			<xsd:attribute name="type" type="xsd:string"/>
			<xsd:attribute name="status" type="xsd:string"/>
			<xsd:attribute name="value" type="xsd:string"/>
			<xsd:attribute name="condition" type="xsd:string"/>
			<xsd:attribute name="exclusive" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<!-- 8.4 duration -->
	<xsd:element name="Duration">
		<xsd:complexType>
			<xsd:attribute name="name" type="xsd:string"/>
			<xsd:attribute name="type" type="xsd:string"/>
			<xsd:attribute name="status" type="xsd:string"/>
			<xsd:attribute name="value" type="xsd:duration"/>
			<xsd:attribute name="condition" type="xsd:string"/>
			<xsd:attribute name="exclusive" type="xsd:string"/>
			<xsd:attribute name="count" type="xsd:long"/>
			<xsd:attribute name="unit" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<!-- 8.5 time -->
	<xsd:element name="Time">
		<xsd:complexType>
			<xsd:attribute name="name" type="xsd:string"/>
			<xsd:attribute name="type" type="xsd:string"/>
			<xsd:attribute name="status" type="xsd:string"/>
			<xsd:attribute name="value" type="xsd:dateTime"/>
			<xsd:attribute name="condition" type="xsd:string"/>
			<xsd:attribute name="exclusive" type="xsd:string"/>
			<xsd:attribute name="count" type="xsd:long"/>
			<xsd:attribute name="unit" type="xsd:string"/>
			<xsd:attribute name="base" type="xsd:double"/>
		</xsd:complexType>
	</xsd:element>
	<!-- 9. Administrative Elements -->
	<!-- 9.2. priority -->
	<xsd:element name="Priority">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="Qty" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="Char" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attribute name="name" type="xsd:string"/>
			<xsd:attribute name="type" type="xsd:string"/>
			<xsd:attribute name="value" type="xsd:double"/>
			<xsd:attribute name="condition" type="xsd:string"/>
			<xsd:attribute name="exclusive" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<!-- 9.3. display -->
	<xsd:element name="Display">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="Qty" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="Char" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attribute name="name" type="xsd:string"/>
			<xsd:attribute name="type" type="xsd:string"/>
			<xsd:attribute name="value" type="xsd:string"/>
			<xsd:attribute name="condition" type="xsd:string"/>
			<xsd:attribute name="exclusive" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<!-- 9.4. description -->
	<xsd:element name="Description">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="Time" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attribute name="name" type="xsd:string"/>
			<xsd:attribute name="type" type="xsd:string"/>
			<xsd:attribute name="value" type="xsd:string"/>
			<xsd:attribute name="condition" type="xsd:string"/>
			<xsd:attribute name="exclusive" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<!-- 9.5 author -->
	<xsd:element name="Author">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="Time" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attribute name="name" type="xsd:string"/>
			<xsd:attribute name="type" type="xsd:string"/>
			<xsd:attribute name="value" type="xsd:dateTime"/>
			<xsd:attribute name="condition" type="xsd:string"/>
			<xsd:attribute name="exclusive" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<!-- 8.5 date -->
	<xsd:element name="Date">
		<xsd:complexType>
			<xsd:attribute name="name" type="xsd:string"/>
			<xsd:attribute name="type" type="xsd:string"/>
			<xsd:attribute name="value" type="xsd:dateTime"/>
			<xsd:attribute name="condition" type="xsd:string"/>
			<xsd:attribute name="exclusive" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>
