<?xml version="1.0" encoding="utf-8"?>
<!--Graphical Representation of the MSSCan.bin file format for document purpose-->
<xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:mstns="http://tempuri.org/XMLSchema.xsd"
           xmlns="http://tempuri.org/XMLSchema.xsd"
           elementFormDefault="qualified"
           version="3.0">
  <xs:element name="MSScanBin">
    <xs:annotation>
      <xs:documentation>MSScan binary file index record details</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="ScanRecord" type="ScanRecordType" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ScanRecordType">
    <xs:sequence>
      <!-- required -->
      <xs:element name="ScanID" type="xs:int"/>
      <xs:element name="FrameID" type="xs:short"/>
      <xs:element name="BaseAbund" type="xs:int"/>
      <xs:element name="BaseMsBin" type="xs:int"/>
      <xs:element name="DetectorGain" type="xs:short"/>
      <xs:element name="DriftBin" type="xs:short"/>
      
      <!-- required only for HiLoGain -->
      <xs:element name="FirstNonzeroMsBin" type="xs:int"/>
      <xs:element name="LastNonzeroMsBin" type="xs:int"/>

      <!-- required -->
      <xs:element name="TIC" type="xs:double"/>
      <xs:element name="TfsBasePeakAbund" type="xs:double"/>
      <xs:element name="TfsBasePeakMz" type="xs:double"/>
      <xs:element name="MsProfSpecFmtId" type="xs:short"/>
      <xs:element name="MsProfByteCount" type="xs:int"/>
      <xs:element name="MsProfOffset" type="xs:long"/>
      <xs:element name="MsProfPointCount" type="xs:int"/>
      
      <!-- required only if profile spectra (frame or TFS) are compressed -->
      <xs:element name="MsProfFullByteCount" type="xs:int"/>

      <!-- required -->
      <xs:element name="MsPeakSpecFmtId" type="xs:short"/>

      <!-- required only if TFS is stored in peak format -->
      <xs:element name="MsPeakByteCount" type="xs:int"/>
      <xs:element name="MsPeakOffset" type="xs:long"/>
      <xs:element name="MsPeakPointCount" type="xs:int"/>
      <xs:element name="MsPeakMaxX" type="xs:double"/>
      <xs:element name="MsPeakMinX" type="xs:double"/>

    </xs:sequence>
  </xs:complexType>
</xs:schema>