<?xml version="1.0" encoding="UTF-8"?>
  <!-- PDS4 XML/Schema for Name Space Id:ody  Version:1.0.3.0 - Tue Jan 06 21:12:01 UTC 2026 -->
  <!-- Generated from the PDS4 Information Model Version 1.20.0.0 - System Build 13.1 -->
  <!-- *** This PDS4 product schema is an operational deliverable. *** -->
  <!--                                                                           -->
  <!--               Dictionary Stack                                            -->
  <!-- 1.20.0.0 - pds: - Common Dictionary                                       -->
  <!-- 1.0.3.0 - ody: - ODY                                                      -->
  <!--                                                                           -->
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://pds.nasa.gov/pds4/mission/ody/v1"
    xmlns:ody="http://pds.nasa.gov/pds4/mission/ody/v1"
    xmlns:pds="http://pds.nasa.gov/pds4/pds/v1"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    version="1.0.3.0">
 
    <xs:import namespace="http://pds.nasa.gov/pds4/pds/v1" schemaLocation="https://pds.nasa.gov/pds4/pds/v1/PDS4_PDS_1K00.xsd"/>
 
  <xs:annotation>
    <xs:documentation>

    The ODY dictionary contains classes that describe aspects of the 
    Mars Odyssey mission and related instruments.
    
    2024-06-26 DVP. Initial version: classes and attributes for GRS.
    
    2024-07-12 DVP. Merged in THEMIS-related changes from a branch. The description of the original:
      "2024-05-21 PG (pgeissler@usgs.gov) added THEMIS parameters, initial version"
    
    2024-07-26 DVP. Added descriptions to attributes and renamed a GRS-specific class.
    
    2024-07-29 TMH. Add in a missed update from PG (IMG) and a few definition fixes.
    
    2025-08-19 DVP. Adds additional GRS product type values and center_latitude attribute.

    2026-01-06 DVP. Adds additional GRS product type value for "special" products produced by the mission in 2002.
  
    </xs:documentation>
  </xs:annotation>
 
  <xs:element name="ODY_Parameters" type="ody:ODY_Parameters"> </xs:element>

  <xs:complexType name="GRS_Observation_Information">
    <xs:annotation>
      <xs:documentation>The GRS_Observation_Information class is the
        container for GRS-related metadata elements.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="release_number" type="ody:release_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="product_type" type="ody:product_type" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="product_version_id" type="ody:product_version_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mission_phase_name" type="ody:mission_phase_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="center_latitude" type="ody:center_latitude" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="start_solar_longitude" type="ody:start_solar_longitude" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="stop_solar_longitude" type="ody:stop_solar_longitude" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_clock_start" type="ody:spacecraft_clock_start" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_clock_stop" type="ody:spacecraft_clock_stop" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="ody:product_type = ('AVERAGED_HEND_DATA', 'AVERAGED_NEUTRON_DATA', 'CDR', 'CHAN_DATA', 'COMMAND_LIST', 'CORRECTED_GAMMA_SPECTRA', 'DDR', 'DERIVED_HEND_DATA', 'DERIVED_NEUTRON_DATA', 'EDR', 'ENG_DATA', 'E_KERNEL', 'GAMMA_SPECTRA', 'GRS_SPECIAL', 'HEND_SPECTRA', 'MESSAGE_LOG', 'NEUTRON_SPECTRA', 'PROFILE_DATA', 'PULSER_SPECTRA', 'RDR', 'SUMMED_GAMMA_SPECTRA')"/> -->
    <!-- <xs:assert test="ody:mission_phase_name = ('AEROBRAKING', 'CRUISE', 'EXTENDED MISSION', 'MAPPING', 'ORBIT INSERTION')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="ODY_Parameters">
    <xs:annotation>
      <xs:documentation>The ODY_Parameters class is the container for
        mission-specific metadata elements.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="product_type" type="ody:product_type" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="orbit_number" type="ody:orbit_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="THEMIS_Observation_Context" type="ody:THEMIS_Observation_Context" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="THEMIS_Instrument_Attributes" type="ody:THEMIS_Instrument_Attributes" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="THEMIS_Image_Properties" type="ody:THEMIS_Image_Properties" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="GRS_Observation_Information" type="ody:GRS_Observation_Information" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="ody:product_type = ('AVERAGED_HEND_DATA', 'AVERAGED_NEUTRON_DATA', 'CDR', 'CHAN_DATA', 'COMMAND_LIST', 'CORRECTED_GAMMA_SPECTRA', 'DDR', 'DERIVED_HEND_DATA', 'DERIVED_NEUTRON_DATA', 'EDR', 'ENG_DATA', 'E_KERNEL', 'GAMMA_SPECTRA', 'GRS_SPECIAL', 'HEND_SPECTRA', 'MESSAGE_LOG', 'NEUTRON_SPECTRA', 'PROFILE_DATA', 'PULSER_SPECTRA', 'RDR', 'SUMMED_GAMMA_SPECTRA')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="THEMIS_Image_Properties">
    <xs:annotation>
      <xs:documentation>The THEMIS_Image_Properties class contains
        attributes specific to THEMIS images.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="image_id" type="ody:image_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="image_duration" type="ody:image_duration" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="inst_compression_ratio" type="ody:inst_compression_ratio" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="focal_plane_temperature" type="ody:focal_plane_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="missing_scan_lines" type="ody:missing_scan_lines" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="partial_scan_lines" type="ody:partial_scan_lines" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="uncorrected_sclk_start_count" type="ody:uncorrected_sclk_start_count" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="image_description" type="ody:image_description" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_brightness_temperature" type="ody:maximum_brightness_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_brightness_temperature" type="ody:minimum_brightness_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="THEMIS_Instrument_Attributes">
    <xs:annotation>
      <xs:documentation>The THEMIS_Instrument_Attributes class contains
        attributes specific to the THEMIS instrument. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="detector_id" type="ody:detector_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="flight_software_version_id" type="ody:flight_software_version_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="command_sequence_number" type="ody:command_sequence_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spatial_summing" type="ody:spatial_summing" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="interframe_delay" type="ody:interframe_delay" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="exposure_duration" type="ody:exposure_duration" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="inst_compression_name" type="ody:inst_compression_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="gain_number" type="ody:gain_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="offset_number" type="ody:offset_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="rice_flag" type="ody:rice_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="time_delay_integration_flag" type="ody:time_delay_integration_flag" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="ody:detector_id = ('IR', 'VIS')"/> -->
    <!-- <xs:assert test="ody:rice_flag = ('Disabled', 'Enabled')"/> -->
    <!-- <xs:assert test="ody:time_delay_integration_flag = ('Disabled', 'Enabled')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="THEMIS_Observation_Context">
    <xs:annotation>
      <xs:documentation>The THEMIS_Observation_Context class contains
        attributes specific to THEMIS observations. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="spacecraft_orientation_pitch" type="ody:spacecraft_orientation_pitch" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_orientation_roll" type="ody:spacecraft_orientation_roll" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_orientation_yaw" type="ody:spacecraft_orientation_yaw" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_pointing_mode" type="ody:spacecraft_pointing_mode" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

    <xs:annotation>
      <xs:documentation>This section contains the simpleTypes that provide more constraints
        than those at the base data type level. The simpleTypes defined here build on the base data
        types. This is another component of the common dictionary and therefore falls within the
        common namespace.
      </xs:documentation>
    </xs:annotation>

  <xs:simpleType name="center_latitude_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="center_latitude">
    <xs:annotation>
      <xs:documentation> Center latitude of the 5 degree latitude band
        of the summed gamma spectra dataset </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="ody:center_latitude_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="command_sequence_number">
    <xs:annotation>
      <xs:documentation>Numeric identifier for the sequence of commands
        sent to the Odyssey spacecraft which include this THEMIS
        observation. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="detector_id">
    <xs:annotation>
      <xs:documentation>Abbreviated name of THEMIS camera used to
        collect this observation. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="exposure_duration_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="exposure_duration">
    <xs:annotation>
      <xs:documentation>The length of time the THEMIS VIS detector array
        is exposed per frame in an image. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="ody:exposure_duration_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="flight_software_version_id">
    <xs:annotation>
      <xs:documentation>The version of THEMIS instrument flight software
        used to acquire the observation. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="focal_plane_temperature_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="focal_plane_temperature">
    <xs:annotation>
      <xs:documentation>Temperature of the THEMIS VIS camera focal plane
        array at the time of the observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="ody:focal_plane_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="gain_number">
    <xs:annotation>
      <xs:documentation>The gain value of the THEMIS IR camera; a
        multiplicative factor used in the analog to digital conversion.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="image_description">
    <xs:annotation>
      <xs:documentation>Description of the observation written by the
        THEMIS Mission Planner. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="image_duration_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="image_duration">
    <xs:annotation>
      <xs:documentation>The length of time required to collect all
        frames of all bands in the downlinked image. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="ody:image_duration_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="image_id">
    <xs:annotation>
      <xs:documentation>Numeric identifier for this observation within
        the onboard command sequence. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="inst_compression_name">
    <xs:annotation>
      <xs:documentation>The type of compression applied to the THEMIS
        VIS data onboard the spacecraft and removed before storage in
        the raw data file. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="inst_compression_ratio">
    <xs:annotation>
      <xs:documentation>The ratio of the size of the uncompressed data
        file to the compressed data file. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="interframe_delay_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="interframe_delay">
    <xs:annotation>
      <xs:documentation>The time between successive frames of a THEMIS
        VIS observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="ody:interframe_delay_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="maximum_brightness_temperature_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="maximum_brightness_temperature">
    <xs:annotation>
      <xs:documentation>Maximum brightness temperature value measured
        within the image. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="ody:maximum_brightness_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="minimum_brightness_temperature_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="minimum_brightness_temperature">
    <xs:annotation>
      <xs:documentation>Minimum brightness temperature value measured
        within the image. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="ody:minimum_brightness_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="missing_scan_lines">
    <xs:annotation>
      <xs:documentation>The total number of scan lines missing from a
        THEMIS IR image when it was received at Earth.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="mission_phase_name">
    <xs:annotation>
      <xs:documentation> The mission_phase_name attribute provides the
        mission-defined name of a time period within the mission.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="offset_number">
    <xs:annotation>
      <xs:documentation>The offset value of the THEMIS IR camera; the
        offset value multiplied by a constant voltage is added to the
        measured voltage in the analog to digital conversion.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="orbit_number">
    <xs:annotation>
      <xs:documentation>The orbit_number attribute identifies the orbit
        number when the observation was taken. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_NonNegative_Integer">
    	<xs:pattern value='[0-9]+'/>
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="18446744073709551615"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="partial_scan_lines">
    <xs:annotation>
      <xs:documentation>The number of lines in a summed THEMIS IR image
        which were produced by averaging less than N lines of the
        original non-summed image, where N is the value of the
        spatial_summing keyword. Value of N/A used for
        spatial_summing=1. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="product_type">
    <xs:annotation>
      <xs:documentation> The product_type attribute identifies the type
        of data product. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="product_version_id">
    <xs:annotation>
      <xs:documentation> The product_version_id element identifies the
        version of an individual data product. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="release_number">
    <xs:annotation>
      <xs:documentation>release_number is the identifier of a scheduled
        release of ODY data from PDS. The first ODY data release has
        release_number "0001". The release_number for a given product is
        always the first release in which it appears, and does not
        change if the product is revised later.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="rice_flag">
    <xs:annotation>
      <xs:documentation>Status of onboard lossless compression algorithm
        applied before downlinking the THEMIS IR observation and removed
        before storage in the raw data file. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="spacecraft_clock_start">
    <xs:annotation>
      <xs:documentation>The spacecraft_clock_start_count attribute
        provides the value of the spacecraft clock at the beginning of a
        time period of interest. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
    	<xs:pattern value='[0-9]{12}'/>
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="spacecraft_clock_stop">
    <xs:annotation>
      <xs:documentation>The spacecraft_clock_stop_count attribute
        provides the value of the spacecraft clock at the end of a time
        period of interest. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
    	<xs:pattern value='[0-9]{12}'/>
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="spacecraft_orientation_pitch_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="spacecraft_orientation_pitch">
    <xs:annotation>
      <xs:documentation>Odyssey spacecraft pitch orientation during this
        observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="ody:spacecraft_orientation_pitch_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="spacecraft_orientation_roll_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="spacecraft_orientation_roll">
    <xs:annotation>
      <xs:documentation>Odyssey spacecraft roll orientation during this
        observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="ody:spacecraft_orientation_roll_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="spacecraft_orientation_yaw_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="spacecraft_orientation_yaw">
    <xs:annotation>
      <xs:documentation>Odyssey spacecraft yaw orientation during this
        observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="ody:spacecraft_orientation_yaw_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="spacecraft_pointing_mode">
    <xs:annotation>
      <xs:documentation>Description of the Odyssey spacecraft pointing
        mode during this observation; see ODY_ORIENT_POINTING.txt for
        definitions of valid modes. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="spatial_summing">
    <xs:annotation>
      <xs:documentation>Onboard spatial average of NxN set of pixels,
        where N is the value of the keyword. A SPATIAL_SUMMING value
        equal to 1 indicates that no spatial averaging has been applied
        to the observation. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="start_solar_longitude_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="start_solar_longitude">
    <xs:annotation>
      <xs:documentation> Solar longitude (Ls) at the beginning of the
        observation period </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="ody:start_solar_longitude_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="stop_solar_longitude_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="stop_solar_longitude">
    <xs:annotation>
      <xs:documentation> Solar longitude (Ls) at the end of the
        observation period </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="ody:stop_solar_longitude_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="time_delay_integration_flag">
    <xs:annotation>
      <xs:documentation>Status of onboard algorithm which applies a
        temporal average of successive lines in an IR image. When
        enabled, THEMIS TDI averages 16 detector rows to equal one line
        in an IR image. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="uncorrected_sclk_start_count_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="uncorrected_sclk_start_count">
    <xs:annotation>
      <xs:documentation>The spacecraft clock value when the THEMIS
        instrument was commanded to acquire an observation. This can
        differ from the SPACECRAFT_CLOCK_START_COUNT (or the other
        START_TIME keywords) by as much as 4 seconds, depending on which
        bands are acquired in the observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="ody:uncorrected_sclk_start_count_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:schema>
