<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:element name="log">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="session" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="machine" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:int"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="session">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="wfExec" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:int"/>
      <xs:attribute name="user" type="xs:string"/>
      <xs:attribute name="ip" type="xs:string"/>
      <xs:attribute name="visVersion" type="xs:string"/>
      <xs:attribute name="tsStart" type="xs:dateTime"/>
      <xs:attribute name="tsEnd" type="xs:dateTime"/>
      <xs:attribute name="machineId" type="xs:int"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="machine">
    <xs:complexType>
      <xs:attribute name="id" type="xs:int"/>
      <xs:attribute name="name" type="xs:string"/>
      <xs:attribute name="os" type="xs:string"/>
      <xs:attribute name="architecture" type="xs:string"/>
      <xs:attribute name="processor" type="xs:string"/>
      <xs:attribute name="ram" type="xs:int"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="wfExec">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="execRec" ref="exec" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:int"/>
      <xs:attribute name="tsStart" type="xs:dateTime"/>
      <xs:attribute name="tsEnd" type="xs:dateTime"/>
      <xs:attribute name="wfVersion" type="xs:int"/>
      <xs:attribute name="vistrailId" type="xs:int"/>
      <xs:attribute name="vistrailName" type="xs:string"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="exec">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="annotation" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:int"/>
      <xs:attribute name="tsStart" type="xs:dateTime"/>
      <xs:attribute name="tsEnd" type="xs:dateTime"/>
      <xs:attribute name="moduleId" type="xs:int"/>
      <xs:attribute name="moduleName" type="xs:string"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="annotation">
    <xs:complexType>
      <xs:attribute name="key" type="xs:string"/>
      <xs:attribute name="value" type="xs:string"/>
    </xs:complexType>
  </xs:element>
</xs:schema>
