<?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" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pps="http://www.oasis-open.org/committees/pps/schema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<!--
	administrative elements
	-->
	<xsd:complexType name="scaleType">
		<xsd:sequence>
			<xsd:element name="description" type="pps:descriptionType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
		<xsd:attribute name="value" type="xsd:duration"/>
		<xsd:attribute name="base" type="xsd:dateTime"/>
	</xsd:complexType>
	<xsd:complexType name="stoneType">
		<xsd:sequence>
			<xsd:element name="time" type="pps:timeType" minOccurs="0"/>
			<xsd:element name="display" type="pps:displayType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="description" type="pps:descriptionType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
	</xsd:complexType>
	<!--
	primitive elements 
	-->
	<xsd:complexType name="customerType">
		<xsd:sequence>
			<xsd:element name="relation" type="pps:relationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="location" type="pps:locationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="calendar" type="pps:calendarType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="spec" type="pps:specType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="priority" type="pps:priorityType" minOccurs="0"/>
			<xsd:element name="display" type="pps:displayType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="description" type="pps:descriptionType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
		<xsd:attribute name="parent" type="xsd:string"/>
		<xsd:attribute name="type" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="supplierType">
		<xsd:sequence>
			<xsd:element name="relation" type="pps:relationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="location" type="pps:locationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="calendar" type="pps:calendarType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="spec" type="pps:specType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="priority" type="pps:priorityType" minOccurs="0"/>
			<xsd:element name="display" type="pps:displayType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="description" type="pps:descriptionType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
		<xsd:attribute name="parent" type="xsd:string"/>
		<xsd:attribute name="type" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="itemType">
		<xsd:sequence>
			<xsd:element name="compose" type="pps:composeType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="composed" type="pps:composedType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="produced" type="pps:producedType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="consumed" type="pps:consumedType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="relation" type="pps:relationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="avaulable" type="pps:availableType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="stock" type="pps:stockType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="spec" type="pps:specType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="price" type="pps:priceType" minOccurs="0"/>
			<xsd:element name="priority" type="pps:priorityType" minOccurs="0"/>
			<xsd:element name="display" type="pps:displayType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="description" type="pps:descriptionType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
		<xsd:attribute name="parent" type="xsd:string"/>
		<xsd:attribute name="type" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="resourceType">
		<xsd:sequence>
			<xsd:element name="compose" type="pps:composeType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="composed" type="pps:composedType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="assigned" type="pps:assignedType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="relation" type="pps:relationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="calendar" type="pps:calendarType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="available" type="pps:availableType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="load" type="pps:loadType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="spec" type="pps:specType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="price" type="pps:priceType" minOccurs="0"/>
			<xsd:element name="duration" type="pps:durationType" minOccurs="0"/>
			<xsd:element name="priority" type="pps:priorityType" minOccurs="0"/>
			<xsd:element name="display" type="pps:displayType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="description" type="pps:descriptionType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
		<xsd:attribute name="parent" type="xsd:string"/>
		<xsd:attribute name="type" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="operationType">
		<xsd:sequence>
			<xsd:element name="compose" type="pps:composeType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="composed" type="pps:composedType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="produce" type="pps:produceType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="consume" type="pps:consumeType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="assign" type="pps:assignType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="predecessor" type="pps:predecessorType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="successor" type="pps:successorType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="relation" type="pps:relationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="spec" type="pps:specType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="start" type="pps:startType" minOccurs="0"/>
			<xsd:element name="end" type="pps:endType" minOccurs="0"/>
			<xsd:element name="event" type="pps:eventType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="price" type="pps:priceType" minOccurs="0"/>
			<xsd:element name="duration" type="pps:durationType" minOccurs="0"/>
			<xsd:element name="priority" type="pps:priorityType" minOccurs="0"/>
			<xsd:element name="display" type="pps:displayType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="description" type="pps:descriptionType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
		<xsd:attribute name="parent" type="xsd:string"/>
		<xsd:attribute name="type" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="orderType">
		<xsd:sequence>
			<xsd:element name="compose" type="pps:composeType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="composed" type="pps:composedType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="predecessor" type="pps:predecessorType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="successor" type="pps:successorType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="relation" type="pps:relationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="location" type="pps:locationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="progress" type="pps:progressType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="spec" type="pps:specType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="start" type="pps:startType" minOccurs="0"/>
			<xsd:element name="end" type="pps:endType" minOccurs="0"/>
			<xsd:element name="release" type="pps:releaseType" minOccurs="0"/>
			<xsd:element name="duetime" type="pps:duetimeType" minOccurs="0"/>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="price" type="pps:priceType" minOccurs="0"/>
			<xsd:element name="duration" type="pps:durationType" minOccurs="0"/>
			<xsd:element name="priority" type="pps:priorityType" minOccurs="0"/>
			<xsd:element name="display" type="pps:displayType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="description" type="pps:descriptionType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
		<xsd:attribute name="parent" type="xsd:string"/>
		<xsd:attribute name="type" type="xsd:string"/>
		<xsd:attribute name="customer" type="xsd:string"/>
		<xsd:attribute name="supplier" type="xsd:string"/>
		<xsd:attribute name="item" type="xsd:string"/>
		<xsd:attribute name="resource" type="xsd:string"/>
		<xsd:attribute name="operation" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="dispatchType">
		<xsd:sequence>
			<xsd:element name="compose" type="pps:composeType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="composed" type="pps:composedType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="produce" type="pps:produceType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="consume" type="pps:consumeType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="assign" type="pps:assignType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="predecessor" type="pps:predecessorType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="successor" type="pps:successorType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="relation" type="pps:relationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="location" type="pps:locationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="progress" type="pps:progressType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="spec" type="pps:specType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="start" type="pps:startType" minOccurs="0"/>
			<xsd:element name="end" type="pps:endType" minOccurs="0"/>
			<xsd:element name="release" type="pps:releaseType" minOccurs="0"/>
			<xsd:element name="duetime" type="pps:duetimeType" minOccurs="0"/>
			<xsd:element name="event" type="pps:eventType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="price" type="pps:priceType" minOccurs="0"/>
			<xsd:element name="duration" type="pps:durationType" minOccurs="0"/>
			<xsd:element name="priority" type="pps:priorityType" minOccurs="0"/>
			<xsd:element name="display" type="pps:displayType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="description" type="pps:descriptionType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
		<xsd:attribute name="parent" type="xsd:string"/>
		<xsd:attribute name="type" type="xsd:string"/>
		<xsd:attribute name="operation" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="lotType">
		<xsd:sequence>
			<xsd:element name="compose" type="pps:composeType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="composed" type="pps:composedType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="produced" type="pps:producedType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="consumed" type="pps:consumedType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="relation" type="pps:relationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="location" type="pps:locationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="progress" type="pps:progressType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="spec" type="pps:specType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="price" type="pps:priceType" minOccurs="0"/>
			<xsd:element name="priority" type="pps:priorityType" minOccurs="0"/>
			<xsd:element name="display" type="pps:displayType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="description" type="pps:descriptionType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
		<xsd:attribute name="parent" type="xsd:string"/>
		<xsd:attribute name="type" type="xsd:string"/>
		<xsd:attribute name="item" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="taskType">
		<xsd:sequence>
			<xsd:element name="compose" type="pps:composeType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="composed" type="pps:composedType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="assigned" type="pps:assignedType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="relation" type="pps:relationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="location" type="pps:locationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="progress" type="pps:progressType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="spec" type="pps:specType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="price" type="pps:priceType" minOccurs="0"/>
			<xsd:element name="duration" type="pps:durationType" minOccurs="0"/>
			<xsd:element name="priority" type="pps:priorityType" minOccurs="0"/>
			<xsd:element name="display" type="pps:displayType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="description" type="pps:descriptionType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
		<xsd:attribute name="parent" type="xsd:string"/>
		<xsd:attribute name="type" type="xsd:string"/>
		<xsd:attribute name="resource" type="xsd:string"/>
	</xsd:complexType>
	<!--
	relational elements between primitives
	-->
	<xsd:complexType name="composeType">
		<xsd:sequence>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="parent" type="xsd:string"/>
		<xsd:attribute name="type" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="composedType">
		<xsd:sequence>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="parent" type="xsd:string"/>
		<xsd:attribute name="type" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="produceType">
		<xsd:sequence>
			<xsd:element name="location" type="pps:locationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="time" type="pps:timeType" minOccurs="0"/>
			<xsd:element name="priority" type="pps:priorityType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="type" type="xsd:string"/>
		<xsd:attribute name="item" type="xsd:string"/>
		<xsd:attribute name="lot" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="producedType">
		<xsd:sequence>
			<xsd:element name="location" type="pps:locationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="time" type="pps:timeType" minOccurs="0"/>
			<xsd:element name="priority" type="pps:priorityType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="type" type="xsd:string"/>
		<xsd:attribute name="operation" type="xsd:string"/>
		<xsd:attribute name="dispatch" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="consumeType">
		<xsd:sequence>
			<xsd:element name="location" type="pps:locationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="time" type="pps:timeType" minOccurs="0"/>
			<xsd:element name="priority" type="pps:priorityType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="type" type="xsd:string"/>
		<xsd:attribute name="item" type="xsd:string"/>
		<xsd:attribute name="lot" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="consumedType">
		<xsd:sequence>
			<xsd:element name="location" type="pps:locationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="time" type="pps:timeType" minOccurs="0"/>
			<xsd:element name="priority" type="pps:priorityType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="type" type="xsd:string"/>
		<xsd:attribute name="operation" type="xsd:string"/>
		<xsd:attribute name="dispatch" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="assignType">
		<xsd:sequence>
			<xsd:element name="location" type="pps:locationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="duration" type="pps:durationType" minOccurs="0"/>
			<xsd:element name="priority" type="pps:priorityType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="type" type="xsd:string"/>
		<xsd:attribute name="resource" type="xsd:string"/>
		<xsd:attribute name="task" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="assignedType">
		<xsd:sequence>
			<xsd:element name="location" type="pps:locationType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="duration" type="pps:durationType" minOccurs="0"/>
			<xsd:element name="priority" type="pps:priorityType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="type" type="xsd:string"/>
		<xsd:attribute name="operation" type="xsd:string"/>
		<xsd:attribute name="dispatch" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="predecessorType">
		<xsd:sequence>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="duration" type="pps:durationType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="type" type="xsd:string"/>
		<xsd:attribute name="stone" type="xsd:string"/>
		<xsd:attribute name="operation" type="xsd:string"/>
		<xsd:attribute name="order" type="xsd:string"/>
		<xsd:attribute name="dispatch" type="xsd:string"/>
		<xsd:attribute name="item" type="xsd:string"/>
		<xsd:attribute name="lot" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="successorType">
		<xsd:sequence>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="duration" type="pps:durationType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="type" type="xsd:string"/>
		<xsd:attribute name="stone" type="xsd:string"/>
		<xsd:attribute name="operation" type="xsd:string"/>
		<xsd:attribute name="order" type="xsd:string"/>
		<xsd:attribute name="dispatch" type="xsd:string"/>
		<xsd:attribute name="item" type="xsd:string"/>
		<xsd:attribute name="lot" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="relationType">
		<xsd:sequence>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="char" type="pps:charType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
		<xsd:attribute name="parent" type="xsd:string"/>
		<xsd:attribute name="type" type="xsd:string"/>
	</xsd:complexType>
	<!--
	property elements of primitives
	-->
	<xsd:complexType name="locationType">
		<xsd:sequence>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="char" type="pps:charType" minOccurs="0"/>
			<xsd:element name="time" type="pps:timeType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
		<xsd:attribute name="type" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="calendarType">
		<xsd:sequence>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="char" type="pps:charType" minOccurs="0"/>
			<xsd:element name="time" type="pps:timeType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="type" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="availableType">
		<xsd:sequence>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="time" type="pps:timeType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="type" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="progressType">
		<xsd:sequence>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="char" type="pps:charType" minOccurs="0"/>
			<xsd:element name="time" type="pps:timeType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
		<xsd:attribute name="type" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="stockType">
		<xsd:sequence>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="time" type="pps:timeType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="type" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="loadType">
		<xsd:sequence>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="time" type="pps:timeType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="type" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="specType">
		<xsd:sequence>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="char" type="pps:charType" minOccurs="0"/>
			<xsd:element name="duration" type="pps:durationType" minOccurs="0"/>
			<xsd:element name="time" type="pps:timeType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
		<xsd:attribute name="type" type="xsd:string"/>
	</xsd:complexType>
	<!--
	temporal events on primitives
	-->
	<xsd:complexType name="startType">
		<xsd:sequence>
			<xsd:element name="time" type="pps:timeType" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="endType">
		<xsd:sequence>
			<xsd:element name="time" type="pps:timeType" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="releaseType">
		<xsd:sequence>
			<xsd:element name="time" type="pps:timeType" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="duetimeType">
		<xsd:sequence>
			<xsd:element name="time" type="pps:timeType" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="eventType">
		<xsd:sequence>
			<xsd:element name="time" type="pps:timeType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
	</xsd:complexType>
	<!--
     Basic data elements 
 	-->
	<xsd:complexType name="qtyType">
		<xsd:sequence>
			<xsd:element name="min" type="pps:minType" minOccurs="0"/>
			<xsd:element name="max" type="pps:maxType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="value" type="xsd:double"/>
		<xsd:attribute name="unit" type="xsd:string"/>
		<xsd:attribute name="base" type="xsd:double"/>
	</xsd:complexType>
	<xsd:complexType name="priceType">
		<xsd:sequence>
			<xsd:element name="min" type="pps:minType" minOccurs="0"/>
			<xsd:element name="max" type="pps:maxType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="value" type="xsd:double"/>
		<xsd:attribute name="unit" type="xsd:string"/>
		<xsd:attribute name="base" type="xsd:double"/>
	</xsd:complexType>
	<xsd:complexType name="charType">
		<xsd:sequence>
			<xsd:element name="enumerate" type="pps:enumerateType" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="value" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="durationType">
		<xsd:sequence>
			<xsd:element name="min" type="pps:minType" minOccurs="0"/>
			<xsd:element name="max" type="pps:maxType" minOccurs="0"/>
			<xsd:element name="shortest" type="pps:shortestType" minOccurs="0"/>
			<xsd:element name="longest" type="pps:longestType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="value" type="xsd:duration"/>
		<xsd:attribute name="count" type="xsd:long"/>
		<xsd:attribute name="scale" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="timeType">
		<xsd:sequence>
			<xsd:element name="min" type="pps:minType" minOccurs="0"/>
			<xsd:element name="max" type="pps:maxType" minOccurs="0"/>
			<xsd:element name="earliest" type="pps:earliestType" minOccurs="0"/>
			<xsd:element name="latest" type="pps:latestType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="value" type="xsd:dateTime"/>
		<xsd:attribute name="count" type="xsd:long"/>
		<xsd:attribute name="scale" type="xsd:string"/>
		<xsd:attribute name="stone" type="xsd:string"/>
	</xsd:complexType>
	<!--
	administrative properties
	-->
	<xsd:complexType name="priorityType">
		<xsd:sequence>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="char" type="pps:charType" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="displayType">
		<xsd:sequence>
			<xsd:element name="qty" type="pps:qtyType" minOccurs="0"/>
			<xsd:element name="char" type="pps:charType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
	</xsd:complexType>
	<xsd:complexType name="descriptionType"/>
	<!-- 
     data auxiliary elements for query
     -->
	<xsd:complexType name="minType">
		<xsd:attribute name="value" type="xsd:double"/>
		<xsd:attribute name="exclusive" type="xsd:string" default="no"/>
	</xsd:complexType>
	<xsd:complexType name="maxType">
		<xsd:attribute name="value" type="xsd:double"/>
		<xsd:attribute name="exclusive" type="xsd:string" default="no"/>
	</xsd:complexType>
	<xsd:complexType name="earliestType">
		<xsd:attribute name="value" type="xsd:dateTime"/>
		<xsd:attribute name="exclusive" type="xsd:string" default="no"/>
	</xsd:complexType>
	<xsd:complexType name="latestType">
		<xsd:attribute name="value" type="xsd:dateTime"/>
		<xsd:attribute name="exclusive" type="xsd:string" default="no"/>
	</xsd:complexType>
	<xsd:complexType name="shortestType">
		<xsd:attribute name="value" type="xsd:duration"/>
		<xsd:attribute name="exclusive" type="xsd:string" default="no"/>
	</xsd:complexType>
	<xsd:complexType name="longestType">
		<xsd:attribute name="value" type="xsd:duration"/>
		<xsd:attribute name="exclusive" type="xsd:string" default="no"/>
	</xsd:complexType>
	<xsd:complexType name="enumerateType">
		<xsd:attribute name="value" type="xsd:string"/>
		<xsd:attribute name="exclusive" type="xsd:string" default="no"/>
	</xsd:complexType>
</xsd:schema>
