<?xml version="1.0" encoding="ASCII"?>
<?xml-stylesheet type="text/xsl" href="/xs3p.xsl"?>
<xs:schema version="2014.1"
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 targetNamespace="http://www.thrustcurve.org/2014/MotorGuideRequest"
 xmlns="http://www.thrustcurve.org/2014/MotorGuideRequest"
 elementFormDefault="qualified">
  <xs:annotation>
    <xs:documentation xml:lang="en">
      This schema defines the request sent to the ThrustCurve.org motor guide XML API.
      For more information, see the documentation at http://www.thrustcurve.org/searchapi.shtml
    </xs:documentation>
  </xs:annotation>

  <xs:element name="motorguide-request">
    <xs:complexType>
      <xs:all>

        <xs:element name="rocket">
          <xs:complexType>
            <xs:all>
              <xs:element name="name" type="xs:string" minOccurs="0" />
              <xs:element name="body-diameter-m" type="xs:decimal" />
              <xs:element name="mmt-diameter-mm" type="xs:decimal" />
              <xs:element name="mmt-length-mm" type="xs:decimal" />
              <xs:element name="weight-kg" type="xs:decimal" />
              <xs:element name="cd" type="xs:decimal" />
              <xs:element name="guide-length-m" type="xs:decimal" />
            </xs:all>
          </xs:complexType>
        </xs:element>

        <xs:element name="manufacturer" type="xs:string" minOccurs="0"/>
        <xs:element name="impulse-class" minOccurs="0">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:pattern value="[A-Z]"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="type" minOccurs="0">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="SU"/>
              <xs:enumeration value="reload"/>
              <xs:enumeration value="hybrid"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="availability" minOccurs="0">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="regular"/>
              <xs:enumeration value="occasional"/>
              <xs:enumeration value="OOP"/>
              <xs:enumeration value="available"/>
              <xs:enumeration value="all"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>

        <xs:element name="max-results" type="xs:positiveInteger" minOccurs="0"/>
      </xs:all>
    </xs:complexType>
  </xs:element>

</xs:schema>
