<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://docs.oasis-open.org/pps/ns" targetNamespace="http://docs.oasis-open.org/pps/ns" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xsd:include schemaLocation="pps-core-elements-1.0.xsd"/>
	  <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="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>
<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:schema>

