<?xml version="1.0" encoding="utf-8"?>
<!-- Modified by Nishioka 2009.02.27 -->
<xsd:schema targetNamespace="http://docs.oasis-open.org/pps/2009" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://docs.oasis-open.org/pps/2009" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<!-- Transaction Elements -->
	<xsd:element name="Message" type="MessageType"/>
	<xsd:complexType name="MessageType">
		<xsd:choice>
			<xsd:element ref="ImplementProfile"/>
			<xsd:element ref="Transaction" maxOccurs="unbounded"/>
		</xsd:choice>
		<xsd:attribute name="id" type="xsd:string" use="required"/>
		<xsd:attribute name="sender" type="xsd:string"/>
		<xsd:attribute name="create" type="xsd:dateTime"/>
		<xsd:attribute name="description" type="xsd:string"/>
	</xsd:complexType>
	<xsd:element name="Transaction">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="Document" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attribute name="id" type="xsd:string" use="required"/>
			<xsd:attribute name="type" type="xsd:string"/>
			<xsd:attribute name="confirm" type="xsd:string"/>
			<xsd:attribute name="connection" type="xsd:string"/>
			<xsd:attribute name="create" type="xsd:dateTime"/>
			<xsd:attribute name="description" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Document">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="Error" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="App" minOccurs="0"/>
				<xsd:element ref="Spec" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="Condition" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="Selection" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="Header" minOccurs="0"/>
				<xsd:choice minOccurs="0">
					<xsd:element ref="Party" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="Plan" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="Order" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="Item" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="Resource" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="Process" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="Lot" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="Task" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="Operation" minOccurs="0" maxOccurs="unbounded"/>
				</xsd:choice>
			</xsd:sequence>
			<xsd:attribute name="id" type="xsd:string" use="required"/>
			<xsd:attribute name="name" type="xsd:string" use="required"/>
			<xsd:attribute name="ref" type="xsd:string"/>
			<xsd:attribute name="action" type="xsd:string"/>
			<xsd:attribute name="option" type="xsd:string"/>
			<xsd:attribute name="event" type="xsd:string"/>
			<xsd:attribute name="profile" type="xsd:string"/>
			<xsd:attribute name="create" type="xsd:dateTime"/>
			<xsd:attribute name="description" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Error">
		<xsd:complexType>
			<xsd:attribute name="id" type="xsd:string"/>
			<xsd:attribute name="ref" type="xsd:string"/>
			<xsd:attribute name="code" type="xsd:string"/>
			<xsd:attribute name="location" type="xsd:string"/>
			<xsd:attribute name="status" type="xsd:string"/>
			<xsd:attribute name="description" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="App">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:any minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Condition">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attribute name="id" type="xsd:string"/>
			<xsd:attribute name="wildcard" type="xsd:string"/>
			<xsd:attribute name="value" type="xsd:string"/>
			<xsd:attribute name="version" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Selection">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="Condition" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attribute name="type" type="xsd:string"/>
			<xsd:attribute name="multi" type="xsd:int"/>
			<xsd:attribute name="count" type="xsd:int"/>
			<xsd:attribute name="offset" type="xsd:int"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Header">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attribute name="id" type="xsd:string"/>
			<xsd:attribute name="class" type="xsd:string"/>
			<xsd:attribute name="title" type="xsd:string"/>
			<xsd:attribute name="count" type="xsd:int"/>
			<xsd:attribute name="offset" type="xsd:int"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Property">
		<xsd:complexType>
			<xsd:choice>
				<xsd:element ref="Qty" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="Char" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="Time" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:choice>
			<xsd:attribute name="type" type="xsd:string"/>
			<xsd:attribute name="name" type="xsd:string"/>
			<xsd:attribute name="path" type="xsd:string"/>
			<xsd:attribute name="value" type="xsd:string"/>
			<xsd:attribute name="sort" type="xsd:string"/>
			<xsd:attribute name="calc" type="xsd:string"/>
			<xsd:attribute name="display" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="TransactionType">
		<xsd:sequence>
			<xsd:element ref="Error" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="App" minOccurs="0"/>
			<xsd:element ref="Spec" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Condition" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Selection" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Header" minOccurs="0"/>
			<xsd:choice minOccurs="0">
				<xsd:element ref="Party" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="Plan" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="Order" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="Item" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="Resource" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="Process" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="Lot" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="Task" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="Operation" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:choice>
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:string" use="required"/>
		<xsd:attribute name="ref" type="xsd:string"/>
		<xsd:attribute name="action" type="xsd:string"/>
		<xsd:attribute name="option" type="xsd:string"/>
		<xsd:attribute name="transaction" type="xsd:string"/>
		<xsd:attribute name="event" type="xsd:string"/>
		<xsd:attribute name="confirm" type="xsd:string"/>
		<xsd:attribute name="profile" type="xsd:string"/>
		<xsd:attribute name="sender" type="xsd:string"/>
		<xsd:attribute name="create" type="xsd:dateTime"/>
		<xsd:attribute name="description" type="xsd:string"/>
	</xsd:complexType>
	<!-- 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="Cost" 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="id" type="xsd:string" use="required"/>
		<xsd:attribute name="key" type="xsd:long"/>
		<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="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"/>
	<!-- Relational Elements -->
	<xsd:complexType name="RelationalType">
		<xsd:sequence>
			<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="Cost" 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:element ref="Qty" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Char" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Time" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:string"/>
		<xsd:attribute name="key" type="xsd:long"/>
		<xsd:attribute name="name" type="xsd:string"/>
		<xsd:attribute name="type" type="xsd:string"/>
		<xsd:attribute name="status" type="xsd:string"/>
		<xsd:attribute name="apply" 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="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="Cost" 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:element ref="Qty" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Char" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Time" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:string"/>
		<xsd:attribute name="key" type="xsd:long"/>
		<xsd:attribute name="name" type="xsd:string"/>
		<xsd:attribute name="type" type="xsd:string"/>
		<xsd:attribute name="status" type="xsd:string"/>
		<xsd:attribute name="apply" 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="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:element ref="Qty" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Char" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Time" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:string"/>
		<xsd:attribute name="key" type="xsd:long"/>
		<xsd:attribute name="name" type="xsd:string"/>
		<xsd:attribute name="type" type="xsd:string"/>
		<xsd:attribute name="status" type="xsd:string"/>
		<xsd:attribute name="apply" type="xsd:string"/>
		<xsd:attribute name="condition" type="xsd:string"/>
		<xsd:attribute name="value" type="xsd:string"/>
	</xsd:complexType>
	<xsd:element name="Start" type="EventualType"/>
	<xsd:element name="End" type="EventualType"/>
	<xsd:element name="Event" type="EventualType"/>
	<!-- Accounting Elements -->
	<xsd:complexType name="AccountingType">
		<xsd:sequence>
			<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:element ref="Qty" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Char" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Time" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:string"/>
		<xsd:attribute name="key" type="xsd:long"/>
		<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="apply" type="xsd:string"/>
	</xsd:complexType>
	<xsd:element name="Price" type="AccountingType"/>
	<xsd:element name="Cost" type="AccountingType"/>
	<!-- Administrative Elements -->
	<xsd:complexType name="AdministrativeType">
		<xsd:sequence>
			<xsd:element ref="Qty" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Char" minOccurs="0" maxOccurs="unbounded"/>
			<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="status" type="xsd:string"/>
		<xsd:attribute name="apply" type="xsd:string"/>
		<xsd:attribute name="condition" type="xsd:string"/>
		<xsd:attribute name="value" type="xsd:string"/>
	</xsd:complexType>
	<xsd:element name="Priority" type="AdministrativeType"/>
	<xsd:element name="Display" type="AdministrativeType"/>
	<xsd:element name="Description" type="AdministrativeType"/>
	<xsd:element name="Author" type="AdministrativeType"/>
	<xsd:element name="Date" type="AdministrativeType"/>
	<!--  Data Elements -->
	<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="apply" type="xsd:string"/>
			<xsd:attribute name="condition" type="xsd:string"/>
			<xsd:attribute name="value" type="xsd:decimal"/>
			<xsd:attribute name="count" type="xsd:long"/>
			<xsd:attribute name="unit" type="xsd:string"/>
			<xsd:attribute name="base" type="xsd:decimal"/>
		</xsd:complexType>
	</xsd:element>
	<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="apply" type="xsd:string"/>
			<xsd:attribute name="condition" type="xsd:string"/>
			<xsd:attribute name="value" type="xsd:string"/>
			<xsd:attribute name="count" type="xsd:long"/>
			<xsd:attribute name="unit" type="xsd:string"/>
			<xsd:attribute name="base" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<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="apply" type="xsd:string"/>
			<xsd:attribute name="condition" type="xsd:string"/>
			<xsd:attribute name="value" type="xsd:dateTime"/>
			<xsd:attribute name="count" type="xsd:long"/>
			<xsd:attribute name="unit" type="xsd:string"/>
			<xsd:attribute name="base" type="xsd:dateTime"/>
		</xsd:complexType>
	</xsd:element>
	<!--  Profile Elements -->
	<xsd:element name="AppProfile">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="Enumeration" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="AppObject" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="AppDocument" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attribute name="name" type="xsd:string" use="required"/>
			<xsd:attribute name="base" type="xsd:string"/>
			<xsd:attribute name="location" type="xsd:string"/>
			<xsd:attribute name="prefix" type="xsd:string"/>
			<xsd:attribute name="namespace" type="xsd:string"/>
			<xsd:attribute name="create" type="xsd:string"/>
			<xsd:attribute name="description" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="AppDocument">
		<xsd:complexType>
			<xsd:attribute name="name" type="xsd:string" use="required"/>
			<xsd:attribute name="object" type="xsd:string"/>
			<xsd:attribute name="category" type="xsd:string"/>
			<xsd:attribute name="descirption" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="AppObject">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="AppProperty" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attribute name="name" type="xsd:string" use="required"/>
			<xsd:attribute name="primitive" type="xsd:string" use="required"/>
			<xsd:attribute name="descirption" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="AppProperty">
		<xsd:complexType>
			<xsd:attribute name="name" type="xsd:string"/>
			<xsd:attribute name="path" type="xsd:string"/>
			<xsd:attribute name="multiple" type="xsd:string"/>
			<xsd:attribute name="key" type="xsd:string"/>
			<xsd:attribute name="enumeration" type="xsd:string"/>
			<xsd:attribute name="dataType" type="xsd:string"/>
			<xsd:attribute name="use" type="xsd:string"/>
			<xsd:attribute name="description" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Enumeration">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="EnumElement" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attribute name="name" type="xsd:string" use="required"/>
			<xsd:attribute name="description" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="EnumElement">
		<xsd:complexType>
			<xsd:attribute name="value" type="xsd:string" use="required"/>
			<xsd:attribute name="primary" type="xsd:boolean"/>
			<xsd:attribute name="alias" type="xsd:int"/>
			<xsd:attribute name="descirption" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ImplementProfile">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="Error" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="App" minOccurs="0"/>
				<xsd:element ref="ImplementDocument" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attribute name="id" type="xsd:string"/>
			<xsd:attribute name="name" type="xsd:string"/>
			<xsd:attribute name="action" type="xsd:string"/>
			<xsd:attribute name="create" type="xsd:dateTime"/>
			<xsd:attribute name="description" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ImplementDocument">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ImplementAction" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="ImplementProperty" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="ImplementEvent" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attribute name="name" type="xsd:string" use="required"/>
			<xsd:attribute name="option" type="xsd:string" use="required"/>
			<xsd:attribute name="profile" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ImplementAction">
		<xsd:complexType>
			<xsd:attribute name="action" type="xsd:string" use="required"/>
			<xsd:attribute name="level" type="xsd:int"/>
			<xsd:attribute name="role" type="xsd:string"/>
			<xsd:attribute name="description" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ImplementProperty">
		<xsd:complexType>
			<xsd:attribute name="name" type="xsd:string" use="required"/>
			<xsd:attribute name="title" type="xsd:string"/>
			<xsd:attribute name="extend" type="xsd:string"/>
			<xsd:attribute name="link" type="xsd:string"/>
			<xsd:attribute name="multiple" type="xsd:string"/>
			<xsd:attribute name="path" type="xsd:string"/>
			<xsd:attribute name="dataType" type="xsd:string"/>
			<xsd:attribute name="enumeration" type="xsd:string"/>
			<xsd:attribute name="type" type="xsd:string"/>
			<xsd:attribute name="use" type="xsd:string"/>
			<xsd:attribute name="description" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ImplementEvent">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="App" minOccurs="0"/>
				<xsd:element ref="Condition" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="Selection" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attribute name="name" type="xsd:string" use="required"/>
			<xsd:attribute name="property" type="xsd:string"/>
			<xsd:attribute name="type" type="xsd:string"/>
			<xsd:attribute name="cycle" type="xsd:duration"/>
			<xsd:attribute name="start" type="xsd:dateTime"/>
			<xsd:attribute name="expire" type="xsd:dateTime"/>
			<xsd:attribute name="description" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>

