<?xml version="1.0" encoding="UTF-8"?>
<!-- 
    SCHEMA: footprint.xsd
    AUTHOR: Irena Spasic
    LAST CHANGE: 11-02-2005
    DESCRIPTION: This document provides an XML schema for metabolomic footprinting.
-->
<xs:schema xmlns:FTP="http://www.footprint.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.footprint.com" elementFormDefault="unqualified" attributeFormDefault="unqualified">
  <xs:element name="MetabolicFootprinting">
    <xs:annotation>
      <xs:documentation>Parameters defining the matabolic footprinting protocol.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:group ref="FTP:Separation"/>
        <xs:element name="dilution" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="component" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="name" type="xs:string"/>
                    <xs:element name="concentration">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:float">
                            <xs:attribute name="unit" type="xs:string" default="percent"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="storage_temperature" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The temperature at which the metabolomic footprint is stored.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:decimal">
                <xs:attribute name="unit" type="xs:string" default="C"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:group name="Separation">
    <xs:annotation>
      <xs:documentation>Separation protocol used to harvest the supernatans.</xs:documentation>
    </xs:annotation>
    <xs:choice>
      <xs:element name="Centrifugalization">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="centrifuge_speed">
              <xs:annotation>
                <xs:documentation>The number of rotations per minute.</xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:float">
                    <xs:attribute name="unit" type="xs:string" default="RPM"/>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
            <xs:element name="centrifuge_time">
              <xs:annotation>
                <xs:documentation>The time length for centrifugalization.</xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:duration"/>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Filtration">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="filter_type" type="xs:string">
              <xs:annotation>
                <xs:documentation>Type of filter.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="pore_size" type="xs:float" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The size of a filter pore.</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:choice>
  </xs:group>
</xs:schema>