<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://ii5.ap.siedlce.pl/entish"
    xmlns="http://ii5.ap.siedlce.pl/entish"
    elementFormDefault="qualified">
    <xsd:include schemaLocation="info.xsd"/>  
    <xsd:include schemaLocation="formula.xsd"/>
 <!-- 
    Xsd schema defining agent's / service's state in conversation protocol entish. 
    Authors: S. Ambroszkiewicz, D. Mikulowski, and D. Pawluczuk 
    http://www.ipipan.waw.pl/mas 
    Last modified April 2, 2003
--> 
  <xsd:element name="state">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="owner" type="xsd:anyURI"/>
        <xsd:element ref="goal"/>
        <xsd:element ref="intentions"/>
        <xsd:element ref="listOfCommitments"/>
        <xsd:element name="knowledge" type="listOfInfos"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  
  <xsd:element name="goal">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="formIn" type="Formula" minOccurs="0"/>
        <xsd:element name="formOut" type="Formula"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="intentions">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="plan" type="listOfFormulas"/>
        <xsd:element name="workflow" type="listOfFormulas"/>
        <xsd:element name="realized" type="listOfFormulas"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  
  <xsd:complexType name="listOfFormulas">
    <xsd:sequence>
      <xsd:element ref="formula" maxOccurs="unbounded" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
 
  <xsd:element name="listOfCommitments">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="commitment" maxOccurs="unbounded" minOccurs="0"/>    
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  
  <xsd:element name="commitment">    
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="formIn" type="Formula"/>
        <xsd:element name="formOut" type="Formula"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
          
</xsd:schema>
