<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <!-- definition of simple elements -->
    <xs:element name="tc" type="xs:decimal"/>
    <xs:element name="h" type="xs:decimal"/>
    <xs:element name="M" type="xs:decimal"/>
    <xs:element name="AR" type="xs:decimal"/>
    <xs:element name="Lambda" type="xs:decimal"/>
    <xs:element name="Sref" type="xs:decimal"/>
    <xs:element name="Cf" type="xs:decimal"/>
    <xs:element name="CDmin" type="xs:decimal"/>
    <xs:element name="T" type="xs:decimal"/>
    <xs:element name="WT" type="xs:decimal"/>
    <xs:element name="WF" type="xs:decimal"/>
    <xs:element name="WE" type="xs:decimal"/>
    <xs:element name="WFO" type="xs:decimal"/>
    <xs:element name="WBE" type="xs:decimal"/>
    <xs:element name="WO" type="xs:decimal"/>
    <xs:element name="D" type="xs:decimal"/>
    <xs:element name="L" type="xs:decimal"/>
    <xs:element name="Theta" type="xs:decimal"/>
    <xs:element name="ESF" type="xs:decimal"/>
    <xs:element name="fin" type="xs:decimal"/>
    <xs:element name="SFC" type="xs:decimal"/>
    <xs:element name="lambda" type="xs:decimal"/>
    <xs:element name="section" type="xs:decimal"/>
    <xs:element name="dpdx" type="xs:decimal"/>
    <xs:element name="R" type="xs:decimal"/>
    <xs:element name="Nz" type="xs:decimal"/>
    <xs:element name="DT" type="xs:decimal"/>
    <xs:element name="Temp" type="xs:decimal"/>
    <xs:element name="sigma1" type="xs:decimal"/>
    <xs:element name="sigma2" type="xs:decimal"/>
    <xs:element name="sigma3" type="xs:decimal"/>
    <xs:element name="sigma4" type="xs:decimal"/>
    <xs:element name="sigma5" type="xs:decimal"/>

    <!-- definition of complex elements -->
    <xs:element name="geometry">
      <xs:complexType>
        <xs:all>
            <xs:element ref="tc" minOccurs="0"/>
            <xs:element ref="AR" minOccurs="0"/>
            <xs:element ref="Lambda" minOccurs="0"/>
            <xs:element ref="Sref" minOccurs="0"/>
            <xs:element ref="Theta" minOccurs="0"/>
            <xs:element ref="lambda" minOccurs="0"/>
            <xs:element ref="section" minOccurs="0"/>
        </xs:all>
      </xs:complexType>
    </xs:element>

    <xs:element name="weight">
      <xs:complexType>
        <xs:all>
            <xs:element ref="WT" minOccurs="0"/>
            <xs:element ref="WBE" minOccurs="0"/>
            <xs:element ref="WE" minOccurs="0"/>
            <xs:element ref="WF" minOccurs="0"/>
            <xs:element ref="WFO" minOccurs="0"/>
            <xs:element ref="WO" minOccurs="0"/>
        </xs:all>
      </xs:complexType>
    </xs:element>

    <xs:element name="other">
      <xs:complexType>
        <xs:all>
            <xs:element ref="D" minOccurs="0"/>
            <xs:element ref="L" minOccurs="0"/>
            <xs:element ref="Cf" minOccurs="0"/>
            <xs:element ref="CDmin" minOccurs="0"/>
            <xs:element ref="T" minOccurs="0"/>
            <xs:element ref="DT" minOccurs="0"/>
            <xs:element ref="fin" minOccurs="0"/>
            <xs:element ref="SFC" minOccurs="0"/>
            <xs:element ref="dpdx" minOccurs="0"/>
            <xs:element ref="R" minOccurs="0"/>
            <xs:element ref="Nz" minOccurs="0"/>
            <xs:element ref="sigma1" minOccurs="0"/>
            <xs:element ref="sigma2" minOccurs="0"/>
            <xs:element ref="sigma3" minOccurs="0"/>
            <xs:element ref="sigma4" minOccurs="0"/>
            <xs:element ref="sigma5" minOccurs="0"/>
        </xs:all>
      </xs:complexType>
    </xs:element>

    <xs:element name="aircraft">
      <xs:complexType>
        <xs:all>
            <xs:element ref="geometry" minOccurs="0"/>
            <xs:element ref="weight" minOccurs="0"/>
            <xs:element ref="other" minOccurs="0"/>
        </xs:all>
      </xs:complexType>
    </xs:element>

    <xs:element name="reference">
      <xs:complexType>
        <xs:all>
            <xs:element ref="h" minOccurs="0"/>
            <xs:element ref="M" minOccurs="0"/>
            <xs:element ref="ESF" minOccurs="0"/>
            <xs:element ref="Temp" minOccurs="0"/>
        </xs:all>
      </xs:complexType>
    </xs:element>

    <xs:element name="dataSchema">
      <xs:complexType>
        <xs:all>
            <xs:element ref="aircraft" minOccurs="0"/>
            <xs:element ref="reference" minOccurs="0"/>
        </xs:all>
      </xs:complexType>
    </xs:element>

</xs:schema>