<?xml version="1.0" encoding="UTF-8"?>
  <!-- PDS4 XML/Schema for Name Space Id:mro  Version:1.4.1.0 - Mon Aug 11 18:31:28 UTC 2025 -->
  <!-- Generated from the PDS4 Information Model Version 1.23.0.0 - System Build 15.0 -->
  <!-- *** This PDS4 product schema is an operational deliverable. *** -->
  <!--                                                                           -->
  <!--               Dictionary Stack                                            -->
  <!-- 1.23.0.0 - pds: - Common Dictionary                                       -->
  <!-- 1.4.1.0 - mro: - MRO                                                      -->
  <!--                                                                           -->
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://pds.nasa.gov/pds4/mission/mro/v1"
    xmlns:mro="http://pds.nasa.gov/pds4/mission/mro/v1"
    xmlns:pds="http://pds.nasa.gov/pds4/pds/v1"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    version="1.4.1.0">
 
    <xs:import namespace="http://pds.nasa.gov/pds4/pds/v1" schemaLocation="https://pds.nasa.gov/pds4/pds/v1/PDS4_PDS_1N00.xsd"/>
 
  <xs:annotation>
    <xs:documentation>

        The MRO dictionary contains classes that describe aspects of the 
        Mars Reconnaissance Orbiter mission and related instruments.
        
        MRO version 1.4.1.0
        PDS Build 1.19.0.0, 1.20.0.0, 1.21.0.0, 1.22.0.0, 1.23.0.0, 1.24.0.0
        LDDTool version 15.2.4
        
        Built with lddtool -plJ PDS4_MRO_IngestLDD.xml
        
        2022-09-27 JGW. Revised SCLK pattern to allow between 3 and 6 fractional digits.
        Added release_id.
        
        2022-09-29 JGW. Added SHARAD_Parameters class.
        Reorganized attribute definitions.
        
        2022-12-02 DVP. Added CRISM_ATO_Parameters class.
        
        2022-12-06 DVP. Bumped to version 1.1.0.0 because of addition of class.
	
	    2022-12-22 PG (pgeissler@usgs.gov) added HiRISE parameters, bumped to 1.2.0.0
	            
        2023-03-23 PG (pgeissler@usgs.gov) added HiRISE RDR class

	    2023-08-16 DVP. Modifications to some parameters of CRISM_ATO_Parameters class
	    following urn:nasa:pds:crism_ato_s_iof_lml peer review; bumped to 1.2.1.0

        2023-08-31 PG (pgeissler@usgs.gov) added observation_rationale attribute for HiRISE, 
        bump to 1.2.2.0
        
        2024-01-09 JGW. Added SHARAD_Observation_Parameters class, bump to 1.3.0.0
        
        2024-02-27 PG fixes to HiRISE, 1.3.1.0
        
        2024-09-16 JGW. Revised SCLK pattern to allow between 1 and 6 fractional digits, 1.3.2.0
        
        2025-12-16 TMH. Added BADCAL enumeration to special_processing_flag_* for HiRISE, 1.3.3.0
        
        2025-06-27 JGW. Added CRISM TRDR parameters. Added CRISM VRDR product types, 1.4.0.0
        
        2025-07-18 JGW. Added additional allowed values to mro:observation_type, 1.4.1.0 
        
    
    </xs:documentation>
  </xs:annotation>
 
  <xs:element name="MRO_Parameters" type="mro:MRO_Parameters"> </xs:element>

  <xs:complexType name="Array_Sampled">
    <xs:annotation>
      <xs:documentation> The Array_Sampled class class provides
        parameters for a uniformly sampled array. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="mro:name" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="array_interval" type="mro:array_interval" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="array_unit" type="mro:array_unit" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="array_first_value" type="mro:array_first_value" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="array_last_value" type="mro:array_last_value" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="array_scale" type="mro:array_scale" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="mro:array_scale = ('Exponential', 'Linear', 'Logarithmic')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="CRISM_ATO_Parameters">
    <xs:annotation>
      <xs:documentation>The CRISM_ATO_Parameters class is the container
        for observation parameters specific to the CRISM ATO
        (Along-Track Oversampled) reprocessing
        project.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="min_line" type="mro:min_line" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="max_line" type="mro:max_line" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="min_sample" type="mro:min_sample" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="max_sample" type="mro:max_sample" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CRISM_Band">
    <xs:annotation>
      <xs:documentation>The CRISM_Band class contains parameters
        describing a single band in CRISM Browse Product 3D image array
        or in the CRISM data cube containing refined spectral summary
        parameters. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="band_name" type="mro:band_name" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="band_sequence_number" type="mro:band_sequence_number" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="scaling_factor" type="mro:scaling_factor" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="value_offset" type="mro:value_offset" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CRISM_Hyperspectral_Data_Filter_Control_Parameters">
    <xs:annotation>
      <xs:documentation>The
        CRISM_Hyperspectral_Data_Filter_Control_Parameters class
        contains attributes related to the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to
        I/F.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="hdf_software_name" type="mro:hdf_software_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdf_software_version_id" type="mro:hdf_software_version_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="if_min_value" type="mro:if_min_value" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="if_max_value" type="mro:if_max_value" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="trace_min_value" type="mro:trace_min_value" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="trace_max_value" type="mro:trace_max_value" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="refz_median_box_width" type="mro:refz_median_box_width" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="refz_smooth_box_width" type="mro:refz_smooth_box_width" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="fram_stat_median_box_width" type="mro:fram_stat_median_box_width" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="fram_stat_min_deviation" type="mro:fram_stat_min_deviation" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="fram_stat_median_conf_lvl" type="mro:fram_stat_median_conf_lvl" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="fram_stat_iqr_conf_lvl" type="mro:fram_stat_iqr_conf_lvl" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="rsc_ref_xy_median_width" type="mro:rsc_ref_xy_median_width" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="rsc_ref_xy_smooth_width" type="mro:rsc_ref_xy_smooth_width" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="rsc_ref_yz_median_width" type="mro:rsc_ref_yz_median_width" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="rsc_ref_yz_smooth_width" type="mro:rsc_ref_yz_smooth_width" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="rsc_ratio_xy_median_width" type="mro:rsc_ratio_xy_median_width" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="rsc_ratio_xy_smooth_width" type="mro:rsc_ratio_xy_smooth_width" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="rsc_res_xy_ply_order" type="mro:rsc_res_xy_ply_order" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="rsc_res_xy_ply_extnd_width" type="mro:rsc_res_xy_ply_extnd_width" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="log_xform_neg_clip_value" nillable="true" type="mro:log_xform_neg_clip_value" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_num_regions" nillable="true" type="mro:ikf_num_regions" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_start_channel_r1" nillable="true" type="mro:ikf_start_channel_r1" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_start_channel_r2" nillable="true" type="mro:ikf_start_channel_r2" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_stop_channel_r1" nillable="true" type="mro:ikf_stop_channel_r1" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_stop_channel_r2" nillable="true" type="mro:ikf_stop_channel_r2" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_confidence_level_r1" nillable="true" type="mro:ikf_confidence_level_r1" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_confidence_level_r2" nillable="true" type="mro:ikf_confidence_level_r2" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_weighting_stddev_r1" nillable="true" type="mro:ikf_weighting_stddev_r1" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_weighting_stddev_r2" nillable="true" type="mro:ikf_weighting_stddev_r2" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_kernel_size_x_r1" nillable="true" type="mro:ikf_kernel_size_x_r1" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_kernel_size_x_r2" nillable="true" type="mro:ikf_kernel_size_x_r2" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_kernel_size_y_r1" nillable="true" type="mro:ikf_kernel_size_y_r1" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_kernel_size_y_r2" nillable="true" type="mro:ikf_kernel_size_y_r2" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_kernel_size_z_r1" nillable="true" type="mro:ikf_kernel_size_z_r1" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_kernel_size_z_r2" nillable="true" type="mro:ikf_kernel_size_z_r2" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_model_order_x_r1" nillable="true" type="mro:ikf_model_order_x_r1" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_model_order_x_r2" nillable="true" type="mro:ikf_model_order_x_r2" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_model_order_y_r1" nillable="true" type="mro:ikf_model_order_y_r1" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_model_order_y_r2" nillable="true" type="mro:ikf_model_order_y_r2" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_model_order_z_r1" nillable="true" type="mro:ikf_model_order_z_r1" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ikf_model_order_z_r2" nillable="true" type="mro:ikf_model_order_z_r2" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CRISM_Parameters">
    <xs:annotation>
      <xs:documentation>The CRISM_Parameters class is the container for
        CRISM-specific observation parameters.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="observation_type" type="mro:observation_type" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="observation_id" type="mro:observation_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="observation_number" type="mro:observation_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="activity_id" type="mro:activity_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sensor_id" type="mro:sensor_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="instrument_pointing_mode" type="mro:instrument_pointing_mode" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="scan_mode_id" type="mro:scan_mode_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="frame_rate" type="mro:frame_rate" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="exposure_parameter" type="mro:exposure_parameter" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sampling_mode_id" type="mro:sampling_mode_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="wavelength_filter" type="mro:wavelength_filter" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="wavelength_file_name" type="mro:wavelength_file_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pixel_proc_file_name" type="mro:pixel_proc_file_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="inv_lookup_table_file_name" type="mro:inv_lookup_table_file_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="CRISM_Hyperspectral_Data_Filter_Control_Parameters" type="mro:CRISM_Hyperspectral_Data_Filter_Control_Parameters" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="CRISM_Temperatures" type="mro:CRISM_Temperatures" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="CRISM_Band" type="mro:CRISM_Band" minOccurs="0" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="mro:observation_type = ('ATO', 'ATU', 'CAL', 'CRL', 'CRM', 'CRS', 'EPF', 'FFC', 'FRS', 'FRT', 'FUN', 'HRL', 'HRS', 'HSP', 'HSV', 'ICL', 'LMB', 'MSP', 'MSV', 'MSW', 'STO', 'TOD', 'UNK')"/> -->
    <!-- <xs:assert test="mro:instrument_pointing_mode = ('DYNAMIC POINTING', 'FIXED POINTING')"/> -->
    <!-- <xs:assert test="mro:scan_mode_id = ('EPF', 'LONG', 'N/A', 'SHORT')"/> -->
    <!-- <xs:assert test="mro:frame_rate = ('1.0', '15.0', '3.75', '30.0', '5.0')"/> -->
    <!-- <xs:assert test="mro:sampling_mode_id = ('HYPERSPECTRAL', 'MULTISPECTRAL')"/> -->
    <!-- <xs:assert test="mro:wavelength_filter = ('0', '1', '2', '3')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="CRISM_Temperatures">
    <xs:annotation>
      <xs:documentation>The CRISM_Temperatures class is the container
        for CRISM-specific temperature-related
        parameters.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="detector_temperature" type="mro:detector_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="optical_bench_temperature" type="mro:optical_bench_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spectrometer_housing_temperature" type="mro:spectrometer_housing_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sphere_temperature" type="mro:sphere_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="fpe_temperature" type="mro:fpe_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HiRISE_Instrument_Setting_Parameters">
    <xs:annotation>
      <xs:documentation>The HiRISE_Instrument_Setting_Parameters class
        contains attributes specific to HiRISE EDRs.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="cpmm_number" type="mro:cpmm_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="channel_number" type="mro:channel_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="scan_exposure_duration" type="mro:scan_exposure_duration" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="line_exposure_duration" type="mro:line_exposure_duration" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="image_exposure_duration" type="mro:image_exposure_duration" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="delta_line_timer_count" type="mro:delta_line_timer_count" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="powered_cpmm_flag_00" type="mro:powered_cpmm_flag_00" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="powered_cpmm_flag_01" type="mro:powered_cpmm_flag_01" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="powered_cpmm_flag_02" type="mro:powered_cpmm_flag_02" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="powered_cpmm_flag_03" type="mro:powered_cpmm_flag_03" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="powered_cpmm_flag_04" type="mro:powered_cpmm_flag_04" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="powered_cpmm_flag_05" type="mro:powered_cpmm_flag_05" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="powered_cpmm_flag_06" type="mro:powered_cpmm_flag_06" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="powered_cpmm_flag_07" type="mro:powered_cpmm_flag_07" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="powered_cpmm_flag_08" type="mro:powered_cpmm_flag_08" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="powered_cpmm_flag_09" type="mro:powered_cpmm_flag_09" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="powered_cpmm_flag_10" type="mro:powered_cpmm_flag_10" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="powered_cpmm_flag_11" type="mro:powered_cpmm_flag_11" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="powered_cpmm_flag_12" type="mro:powered_cpmm_flag_12" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="powered_cpmm_flag_13" type="mro:powered_cpmm_flag_13" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="binning" type="mro:binning" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="tdi" type="mro:tdi" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="trim_lines" type="mro:trim_lines" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="focus_position_count" type="mro:focus_position_count" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="felics_compression_flag" type="mro:felics_compression_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="stimulation_lamp_flag_red" type="mro:stimulation_lamp_flag_red" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="stimulation_lamp_flag_blg" type="mro:stimulation_lamp_flag_blg" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="stimulation_lamp_flag_nir" type="mro:stimulation_lamp_flag_nir" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="heater_control_mode" type="mro:heater_control_mode" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="heater_control_flag_00" type="mro:heater_control_flag_00" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="heater_control_flag_01" type="mro:heater_control_flag_01" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="heater_control_flag_02" type="mro:heater_control_flag_02" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="heater_control_flag_03" type="mro:heater_control_flag_03" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="heater_control_flag_04" type="mro:heater_control_flag_04" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="heater_control_flag_05" type="mro:heater_control_flag_05" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="heater_control_flag_06" type="mro:heater_control_flag_06" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="heater_control_flag_07" type="mro:heater_control_flag_07" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="heater_control_flag_08" type="mro:heater_control_flag_08" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="heater_control_flag_09" type="mro:heater_control_flag_09" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="heater_control_flag_10" type="mro:heater_control_flag_10" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="heater_control_flag_11" type="mro:heater_control_flag_11" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="heater_control_flag_12" type="mro:heater_control_flag_12" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="heater_control_flag_13" type="mro:heater_control_flag_13" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="lookup_table_type" type="mro:lookup_table_type" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="lookup_table_minimum" type="mro:lookup_table_minimum" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="lookup_table_maximum" type="mro:lookup_table_maximum" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="lookup_table_median" type="mro:lookup_table_median" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="lookup_table_k_value" type="mro:lookup_table_k_value" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="lookup_table_number" type="mro:lookup_table_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="adc_timing_settings_image" type="mro:adc_timing_settings_image" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="adc_timing_settings_reset" type="mro:adc_timing_settings_reset" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="dll_locked_flag_01" type="mro:dll_locked_flag_01" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="dll_locked_flag_02" type="mro:dll_locked_flag_02" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="dll_locked_once_flag_01" type="mro:dll_locked_once_flag_01" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="dll_locked_once_flag_02" type="mro:dll_locked_once_flag_02" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="dll_reset_count" type="mro:dll_reset_count" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="dll_frequency_correct_count" type="mro:dll_frequency_correct_count" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="mro:cpmm_number = ('0', '1', '10', '11', '12', '13', '2', '3', '4', '5', '6', '7', '8', '9')"/> -->
    <!-- <xs:assert test="mro:channel_number = ('0', '1')"/> -->
    <!-- <xs:assert test="mro:powered_cpmm_flag_00 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:powered_cpmm_flag_01 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:powered_cpmm_flag_02 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:powered_cpmm_flag_03 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:powered_cpmm_flag_04 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:powered_cpmm_flag_05 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:powered_cpmm_flag_06 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:powered_cpmm_flag_07 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:powered_cpmm_flag_08 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:powered_cpmm_flag_09 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:powered_cpmm_flag_10 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:powered_cpmm_flag_11 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:powered_cpmm_flag_12 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:powered_cpmm_flag_13 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:binning = ('1', '16', '2', '3', '4', '8')"/> -->
    <!-- <xs:assert test="mro:tdi = ('128', '32', '64', '8')"/> -->
    <!-- <xs:assert test="mro:felics_compression_flag = ('NO', 'YES')"/> -->
    <!-- <xs:assert test="mro:stimulation_lamp_flag_red = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:stimulation_lamp_flag_blg = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:stimulation_lamp_flag_nir = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:heater_control_mode = ('CLOSED LOOP', 'DUTY CYCLE')"/> -->
    <!-- <xs:assert test="mro:heater_control_flag_00 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:heater_control_flag_01 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:heater_control_flag_02 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:heater_control_flag_03 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:heater_control_flag_04 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:heater_control_flag_05 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:heater_control_flag_06 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:heater_control_flag_07 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:heater_control_flag_08 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:heater_control_flag_09 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:heater_control_flag_10 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:heater_control_flag_11 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:heater_control_flag_12 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:heater_control_flag_13 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:lookup_table_type = ('LINEAR', 'N/A', 'SQUARE ROOT', 'STORED')"/> -->
    <!-- <xs:assert test="mro:dll_locked_flag_01 = ('NO', 'YES')"/> -->
    <!-- <xs:assert test="mro:dll_locked_flag_02 = ('NO', 'YES')"/> -->
    <!-- <xs:assert test="mro:dll_locked_once_flag_01 = ('NO', 'YES')"/> -->
    <!-- <xs:assert test="mro:dll_locked_once_flag_02 = ('NO', 'YES')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="HiRISE_Power_Parameters">
    <xs:annotation>
      <xs:documentation>The HiRISE_Power_Parameters class contains
        attributes specific to HiRISE EDRs.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="cpmm_positive_29_voltage" type="mro:cpmm_positive_29_voltage" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="cpmm_positive_29_current" type="mro:cpmm_positive_29_current" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="cpmm_positive_10_voltage" type="mro:cpmm_positive_10_voltage" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="cpmm_positive_10_current" type="mro:cpmm_positive_10_current" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="cpmm_positive_5_voltage" type="mro:cpmm_positive_5_voltage" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="cpmm_positive_5_current" type="mro:cpmm_positive_5_current" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="cpmm_positive_3_3_voltage" type="mro:cpmm_positive_3_3_voltage" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="cpmm_positive_3_3_current" type="mro:cpmm_positive_3_3_current" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="cpmm_positive_2_5_voltage" type="mro:cpmm_positive_2_5_voltage" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="cpmm_positive_2_5_current" type="mro:cpmm_positive_2_5_current" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="cpmm_positive_1_8_voltage" type="mro:cpmm_positive_1_8_voltage" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="cpmm_positive_1_8_current" type="mro:cpmm_positive_1_8_current" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="cpmm_negative_5_voltage" type="mro:cpmm_negative_5_voltage" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="cpmm_negative_5_current" type="mro:cpmm_negative_5_current" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="heater_current" type="mro:heater_current" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="inst_cont_fpga_pos_2_5_voltage" type="mro:inst_cont_fpga_pos_2_5_voltage" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mech_tlm_fpga_pos_2_5_voltage" type="mro:mech_tlm_fpga_pos_2_5_voltage" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="iea_positive_28_voltage" type="mro:iea_positive_28_voltage" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="iea_negative_15_voltage" type="mro:iea_negative_15_voltage" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="iea_positive_15_voltage" type="mro:iea_positive_15_voltage" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="iea_positive_5_voltage" type="mro:iea_positive_5_voltage" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HiRISE_RDR_Parameters">
    <xs:annotation>
      <xs:documentation>The HiRISE_RDR_Parameters class contains
        attributes specific to HiRISE RDRs.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ccd_flag_red0" type="mro:ccd_flag_red0" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ccd_flag_red1" type="mro:ccd_flag_red1" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ccd_flag_red2" type="mro:ccd_flag_red2" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ccd_flag_red3" type="mro:ccd_flag_red3" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ccd_flag_red4" type="mro:ccd_flag_red4" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ccd_flag_red5" type="mro:ccd_flag_red5" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ccd_flag_red6" type="mro:ccd_flag_red6" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ccd_flag_red7" type="mro:ccd_flag_red7" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ccd_flag_red8" type="mro:ccd_flag_red8" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ccd_flag_red9" type="mro:ccd_flag_red9" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ccd_flag_ir10" type="mro:ccd_flag_ir10" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ccd_flag_ir11" type="mro:ccd_flag_ir11" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ccd_flag_bg12" type="mro:ccd_flag_bg12" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ccd_flag_bg13" type="mro:ccd_flag_bg13" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="binning_red0" nillable="true" type="mro:binning_red0" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="binning_red1" nillable="true" type="mro:binning_red1" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="binning_red2" nillable="true" type="mro:binning_red2" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="binning_red3" nillable="true" type="mro:binning_red3" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="binning_red4" nillable="true" type="mro:binning_red4" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="binning_red5" nillable="true" type="mro:binning_red5" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="binning_red6" nillable="true" type="mro:binning_red6" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="binning_red7" nillable="true" type="mro:binning_red7" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="binning_red8" nillable="true" type="mro:binning_red8" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="binning_red9" nillable="true" type="mro:binning_red9" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="binning_ir10" nillable="true" type="mro:binning_ir10" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="binning_ir11" nillable="true" type="mro:binning_ir11" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="binning_bg12" nillable="true" type="mro:binning_bg12" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="binning_bg13" nillable="true" type="mro:binning_bg13" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="tdi_red0" nillable="true" type="mro:tdi_red0" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="tdi_red1" nillable="true" type="mro:tdi_red1" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="tdi_red2" nillable="true" type="mro:tdi_red2" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="tdi_red3" nillable="true" type="mro:tdi_red3" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="tdi_red4" nillable="true" type="mro:tdi_red4" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="tdi_red5" nillable="true" type="mro:tdi_red5" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="tdi_red6" nillable="true" type="mro:tdi_red6" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="tdi_red7" nillable="true" type="mro:tdi_red7" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="tdi_red8" nillable="true" type="mro:tdi_red8" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="tdi_red9" nillable="true" type="mro:tdi_red9" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="tdi_ir10" nillable="true" type="mro:tdi_ir10" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="tdi_ir11" nillable="true" type="mro:tdi_ir11" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="tdi_bg12" nillable="true" type="mro:tdi_bg12" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="tdi_bg13" nillable="true" type="mro:tdi_bg13" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="special_processing_flag_red0" type="mro:special_processing_flag_red0" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="special_processing_flag_red1" type="mro:special_processing_flag_red1" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="special_processing_flag_red2" type="mro:special_processing_flag_red2" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="special_processing_flag_red3" type="mro:special_processing_flag_red3" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="special_processing_flag_red4" type="mro:special_processing_flag_red4" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="special_processing_flag_red5" type="mro:special_processing_flag_red5" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="special_processing_flag_red6" type="mro:special_processing_flag_red6" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="special_processing_flag_red7" type="mro:special_processing_flag_red7" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="special_processing_flag_red8" type="mro:special_processing_flag_red8" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="special_processing_flag_red9" type="mro:special_processing_flag_red9" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="special_processing_flag_ir10" type="mro:special_processing_flag_ir10" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="special_processing_flag_ir11" type="mro:special_processing_flag_ir11" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="special_processing_flag_bg12" type="mro:special_processing_flag_bg12" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="special_processing_flag_bg13" type="mro:special_processing_flag_bg13" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_stretch" type="mro:minimum_stretch" minOccurs="0" maxOccurs="3"> </xs:element>
      <xs:element name="maximum_stretch" type="mro:maximum_stretch" minOccurs="0" maxOccurs="3"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="mro:ccd_flag_red0 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:ccd_flag_red1 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:ccd_flag_red2 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:ccd_flag_red3 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:ccd_flag_red4 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:ccd_flag_red5 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:ccd_flag_red6 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:ccd_flag_red7 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:ccd_flag_red8 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:ccd_flag_red9 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:ccd_flag_ir10 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:ccd_flag_ir11 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:ccd_flag_bg12 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:ccd_flag_bg13 = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="mro:binning_red0 = ('1', '16', '2', '3', '4', '8')"/> -->
    <!-- <xs:assert test="mro:binning_red1 = ('1', '16', '2', '3', '4', '8')"/> -->
    <!-- <xs:assert test="mro:binning_red2 = ('1', '16', '2', '3', '4', '8')"/> -->
    <!-- <xs:assert test="mro:binning_red3 = ('1', '16', '2', '3', '4', '8')"/> -->
    <!-- <xs:assert test="mro:binning_red4 = ('1', '16', '2', '3', '4', '8')"/> -->
    <!-- <xs:assert test="mro:binning_red5 = ('1', '16', '2', '3', '4', '8')"/> -->
    <!-- <xs:assert test="mro:binning_red6 = ('1', '16', '2', '3', '4', '8')"/> -->
    <!-- <xs:assert test="mro:binning_red7 = ('1', '16', '2', '3', '4', '8')"/> -->
    <!-- <xs:assert test="mro:binning_red8 = ('1', '16', '2', '3', '4', '8')"/> -->
    <!-- <xs:assert test="mro:binning_red9 = ('1', '16', '2', '3', '4', '8')"/> -->
    <!-- <xs:assert test="mro:binning_ir10 = ('1', '16', '2', '3', '4', '8')"/> -->
    <!-- <xs:assert test="mro:binning_ir11 = ('1', '16', '2', '3', '4', '8')"/> -->
    <!-- <xs:assert test="mro:binning_bg12 = ('1', '16', '2', '3', '4', '8')"/> -->
    <!-- <xs:assert test="mro:binning_bg13 = ('1', '16', '2', '3', '4', '8')"/> -->
    <!-- <xs:assert test="mro:tdi_red0 = ('128', '32', '64', '8')"/> -->
    <!-- <xs:assert test="mro:tdi_red1 = ('128', '32', '64', '8')"/> -->
    <!-- <xs:assert test="mro:tdi_red2 = ('128', '32', '64', '8')"/> -->
    <!-- <xs:assert test="mro:tdi_red3 = ('128', '32', '64', '8')"/> -->
    <!-- <xs:assert test="mro:tdi_red4 = ('128', '32', '64', '8')"/> -->
    <!-- <xs:assert test="mro:tdi_red5 = ('128', '32', '64', '8')"/> -->
    <!-- <xs:assert test="mro:tdi_red6 = ('128', '32', '64', '8')"/> -->
    <!-- <xs:assert test="mro:tdi_red7 = ('128', '32', '64', '8')"/> -->
    <!-- <xs:assert test="mro:tdi_red8 = ('128', '32', '64', '8')"/> -->
    <!-- <xs:assert test="mro:tdi_red9 = ('128', '32', '64', '8')"/> -->
    <!-- <xs:assert test="mro:tdi_ir10 = ('128', '32', '64', '8')"/> -->
    <!-- <xs:assert test="mro:tdi_ir11 = ('128', '32', '64', '8')"/> -->
    <!-- <xs:assert test="mro:tdi_bg12 = ('128', '32', '64', '8')"/> -->
    <!-- <xs:assert test="mro:tdi_bg13 = ('128', '32', '64', '8')"/> -->
    <!-- <xs:assert test="mro:special_processing_flag_red0 = ('BADCAL', 'CUBENORM', 'NOMINAL', 'NULL')"/> -->
    <!-- <xs:assert test="mro:special_processing_flag_red1 = ('BADCAL', 'CUBENORM', 'NOMINAL', 'NULL')"/> -->
    <!-- <xs:assert test="mro:special_processing_flag_red2 = ('BADCAL', 'CUBENORM', 'NOMINAL', 'NULL')"/> -->
    <!-- <xs:assert test="mro:special_processing_flag_red3 = ('BADCAL', 'CUBENORM', 'NOMINAL', 'NULL')"/> -->
    <!-- <xs:assert test="mro:special_processing_flag_red4 = ('BADCAL', 'CUBENORM', 'NOMINAL', 'NULL')"/> -->
    <!-- <xs:assert test="mro:special_processing_flag_red5 = ('BADCAL', 'CUBENORM', 'NOMINAL', 'NULL')"/> -->
    <!-- <xs:assert test="mro:special_processing_flag_red6 = ('BADCAL', 'CUBENORM', 'NOMINAL', 'NULL')"/> -->
    <!-- <xs:assert test="mro:special_processing_flag_red7 = ('BADCAL', 'CUBENORM', 'NOMINAL', 'NULL')"/> -->
    <!-- <xs:assert test="mro:special_processing_flag_red8 = ('BADCAL', 'CUBENORM', 'NOMINAL', 'NULL')"/> -->
    <!-- <xs:assert test="mro:special_processing_flag_red9 = ('BADCAL', 'CUBENORM', 'NOMINAL', 'NULL')"/> -->
    <!-- <xs:assert test="mro:special_processing_flag_ir10 = ('BADCAL', 'CUBENORM', 'NOMINAL', 'NULL')"/> -->
    <!-- <xs:assert test="mro:special_processing_flag_ir11 = ('BADCAL', 'CUBENORM', 'NOMINAL', 'NULL')"/> -->
    <!-- <xs:assert test="mro:special_processing_flag_bg12 = ('BADCAL', 'CUBENORM', 'NOMINAL', 'NULL')"/> -->
    <!-- <xs:assert test="mro:special_processing_flag_bg13 = ('BADCAL', 'CUBENORM', 'NOMINAL', 'NULL')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="HiRISE_Temperature_Parameters">
    <xs:annotation>
      <xs:documentation>The HiRISE_Temperature_Parameters class contains
        attributes specific to HiRISE EDRs.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="opt_bnch_flexure_temperature" type="mro:opt_bnch_flexure_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="opt_bnch_mirror_temperature" type="mro:opt_bnch_mirror_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="opt_bnch_fold_flat_temperature" type="mro:opt_bnch_fold_flat_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="opt_bnch_fpa_temperature" type="mro:opt_bnch_fpa_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="opt_bnch_fpe_temperature" type="mro:opt_bnch_fpe_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="opt_bnch_living_rm_temperature" type="mro:opt_bnch_living_rm_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="opt_bnch_box_beam_temperature" type="mro:opt_bnch_box_beam_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="opt_bnch_cover_temperature" type="mro:opt_bnch_cover_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="field_stop_temperature" type="mro:field_stop_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="fpa_positive_y_temperature" type="mro:fpa_positive_y_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="fpa_negative_y_temperature" type="mro:fpa_negative_y_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="fpe_temperature" type="mro:fpe_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="primary_mirror_mnt_temperature" type="mro:primary_mirror_mnt_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="primary_mirror_temperature" type="mro:primary_mirror_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="primary_mirror_baf_temperature" type="mro:primary_mirror_baf_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ms_truss_leg_0_a_temperature" type="mro:ms_truss_leg_0_a_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ms_truss_leg_0_b_temperature" type="mro:ms_truss_leg_0_b_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ms_truss_leg_120_a_temperature" type="mro:ms_truss_leg_120_a_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ms_truss_leg_120_b_temperature" type="mro:ms_truss_leg_120_b_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ms_truss_leg_240_a_temperature" type="mro:ms_truss_leg_240_a_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ms_truss_leg_240_b_temperature" type="mro:ms_truss_leg_240_b_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="barrel_baffle_temperature" type="mro:barrel_baffle_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sun_shade_temperature" type="mro:sun_shade_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spider_leg_30_temperature" type="mro:spider_leg_30_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spider_leg_150_temperature" type="mro:spider_leg_150_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spider_leg_270_temperature" type="mro:spider_leg_270_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sec_mirror_mtr_rng_temperature" type="mro:sec_mirror_mtr_rng_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sec_mirror_temperature" type="mro:sec_mirror_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sec_mirror_baffle_temperature" type="mro:sec_mirror_baffle_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="iea_temperature" type="mro:iea_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="focus_motor_temperature" type="mro:focus_motor_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ie_pws_board_temperature" type="mro:ie_pws_board_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="cpmm_pws_board_temperature" type="mro:cpmm_pws_board_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mech_tlm_board_temperature" type="mro:mech_tlm_board_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="inst_cont_board_temperature" type="mro:inst_cont_board_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HiRISE_Time_Parameters">
    <xs:annotation>
      <xs:documentation>The HiRISE_Time_Parameters class contains
        attributes specific to HiRISE EDRs.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="observation_start_time" type="mro:observation_start_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="readout_start_time" type="mro:readout_start_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="readout_start_count" type="mro:readout_start_count" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="analog_power_start_time" type="mro:analog_power_start_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="analog_power_start_count" type="mro:analog_power_start_count" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="calibration_start_time" type="mro:calibration_start_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="calibration_start_count" type="mro:calibration_start_count" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MRO_Parameters">
    <xs:annotation>
      <xs:documentation>The MRO_Parameters class is the container for
        mission-specific metadata elements.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="product_type" type="mro:product_type" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="product_version_id" type="mro:product_version_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="release_id" type="mro:release_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="observation_rationale" type="mro:observation_rationale" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="orbit_number" type="mro:orbit_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mission_phase_name" type="mro:mission_phase_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_clock_count_partition" type="mro:spacecraft_clock_count_partition" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_clock_start_count" type="mro:spacecraft_clock_start_count" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_clock_stop_count" type="mro:spacecraft_clock_stop_count" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="producer_institution_name" type="mro:producer_institution_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="line_prefix_bytes" type="mro:line_prefix_bytes" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="line_suffix_bytes" type="mro:line_suffix_bytes" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="HiRISE_Time_Parameters" type="mro:HiRISE_Time_Parameters" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="HiRISE_Instrument_Setting_Parameters" type="mro:HiRISE_Instrument_Setting_Parameters" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="HiRISE_Temperature_Parameters" type="mro:HiRISE_Temperature_Parameters" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="HiRISE_Power_Parameters" type="mro:HiRISE_Power_Parameters" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="HiRISE_RDR_Parameters" type="mro:HiRISE_RDR_Parameters" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="CRISM_Parameters" type="mro:CRISM_Parameters" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="SHARAD_Parameters" type="mro:SHARAD_Parameters" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="CRISM_ATO_Parameters" type="mro:CRISM_ATO_Parameters" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="mro:product_type = ('CDR', 'DDR', 'DTM', 'EDR', 'LDR', 'MRDR', 'MTRDR', 'MTRDR_Browse', 'MTRDR_Extras', 'ORTHOIMAGE', 'RDR', 'TER', 'TER_Browse', 'TER_Extras', 'TRDR', 'TRDR_Browse', 'TRDR_Extras', 'VRDR', 'VRDR_Browse')"/> -->
    <!-- <xs:assert test="mro:mission_phase_name = ('Aerobraking', 'Approach and Orbit Insertion', 'Cruise', 'Extended Mission 1', 'Extended Mission 2', 'Extended Mission 3', 'Extended Mission 4', 'Extended Mission 5', 'Extended Mission 6', 'Extended Science', 'Launch', 'Primary Science')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="SHARAD_Observation_Parameters">
    <xs:annotation>
      <xs:documentation> The SHARAD_Observation_Parameters class
        provides parameters for SHARAD radar observations.
        </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="synthetic_aperture_duration" type="mro:synthetic_aperture_duration" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="multilook_doppler_bandwidth" type="mro:multilook_doppler_bandwidth" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="number_of_looks" type="mro:number_of_looks" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="chirp_frequency_envelope" type="mro:chirp_frequency_envelope" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="range_compression_window" type="mro:range_compression_window" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="azimuth_processing_window" type="mro:azimuth_processing_window" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SHARAD_Parameters">
    <xs:annotation>
      <xs:documentation>The SHARAD_Parameters class contains attributes
        specific to SHARAD data.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SHARAD_Observation_Parameters" type="mro:SHARAD_Observation_Parameters" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="Array_Sampled" type="mro:Array_Sampled" minOccurs="0" maxOccurs="unbounded"> </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="activity_id">
    <xs:annotation>
      <xs:documentation> The activity_id attribute describes the type of
        measurement contained in a CRISM EDR or other data product, and
        provides indication of how the observation is commanded. The
        format of the value is AC### where AC is a 2-letter designation
        of the type of measurement made, and ### is a 3-numeral
        designation of the instrument command macro that was executed to
        acquire the data. Macro numbers are in the range 0-255. For
        EDRs, BI is measurement of detector bias, DF is a measurement of
        background including dark current and thermal background, LP is
        measurement of a focal plane lamp, SP is measurement of the
        internal integrating sphere, and SC is measurement of an
        external scene. TP indicates that the EDR contains any test
        pattern produced by instrument electronics. T1 through T7
        specify the test pattern, test pattern 1 through test pattern 7.
        UN indicates that the EDR contains data in which housekeeping
        does not match the commanded instrument configuration. For an
        RDR, RA indicates that the file contains values in units of
        radiance (W m^-2 nm^-1 sr^-1). IF indicates that the file
        contains values in units of I/F, or radiance divided by solar
        flux scaled for heliocentric distance. AL indicates that the
        file contains values as estimated Labert albedo, which is I/F
        corrected for cosine of incidence angle and for atmospheric and
        thermal effects. SU indicates that the files contains summary
        parameters, unitless values derived from Lambert albedo. For an
        RDR or a DDR, DE indicates that the files contains derived
        values related to observation geometry or independently
        characterized properties of the scene. </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="adc_timing_settings_image">
    <xs:annotation>
      <xs:documentation> The adc_timing_settings_image attribute
        provides the HiRISE Channel 0 analog-to-digital conversion
        timing settings for the readout of the video waveform.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="9"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="adc_timing_settings_reset">
    <xs:annotation>
      <xs:documentation> The adc_timing_settings_reset attribute
        provides the HiRISE Channel 0 analog-to-digital conversion
        timing settings for the reset of the video waveform.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="9"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="analog_power_start_count">
    <xs:annotation>
      <xs:documentation> The analog_power_start_count attribute provides
        the spacecraft clock count when power to the CPMM units was
        applied. </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="analog_power_start_time">
    <xs:annotation>
      <xs:documentation> The analog_power_start_time attribute provides
        the UTC time when power to the CPMM units was applied.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Date_Time_YMD_UTC">
  <!-- format="YYYY-MM-DDTHH:MM:SS.SSSSSSZ" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="array_first_value">
    <xs:annotation>
      <xs:documentation>The array_first_value element provides the first
        value in an ascending series and is therefore the minimum value
        at which a given data item was sampled. </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="array_interval">
    <xs:annotation>
      <xs:documentation>The array_interval attribute provides the
        spacing of points at which data are sampled and at which values
        for an instrument or other parameter are available. If x1 and xn
        are the first and last sampling parameter values, respectively,
        xn is larger than x1, n is the number of sampling parameters,
        the caret symbol (^) denotes exponentiation, and b, a positive
        real number, is the base for exponentiation, then the value of
        sampling_parameter_interval is: (xn-x1)/(n-1) (for
        sampling_parameter_scale = Linear), (xn/x1)^(1/(n-1)) (for
        sampling_parameter_scale = Logarithmic), (b^xn-b^x1)/(n-1) (for
        sampling_parameter_scale = Exponential). </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="array_last_value">
    <xs:annotation>
      <xs:documentation>The array_last_value element provides the last
        value in an ascending series and is therefore the maximum value
        at which a given data item was sampled. </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="array_scale">
    <xs:annotation>
      <xs:documentation>The array_scale attribute specifies whether the
        sampling interval is linear or something other such as
        logarithmic. </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="array_unit">
    <xs:annotation>
      <xs:documentation>The array_unit element specifies the unit of
        measure of associated data sampling parameters.
        </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="azimuth_processing_window">
    <xs:annotation>
      <xs:documentation>The windowing function used to reduce sidelobes
        resulting from azimuth (along-track) synthetic aperture
        processing of the raw echo records. All radargrams in the SHARAD
        radargram archive use a Hann function. </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="band_name">
    <xs:annotation>
      <xs:documentation>Identifies the name of the CRISM band associated
        with the specific scaling and offset parameters used in a CRISM
        browse 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="band_sequence_number">
    <xs:annotation>
      <xs:documentation>Defines the order of the CRISM bands along the
        Axis_Array when axis_name is band. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="barrel_baffle_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="barrel_baffle_temperature">
    <xs:annotation>
      <xs:documentation> The barrel_baffle_temperature attribute
        provides the temperature of the HiRISE instrument's barrel
        baffle in degrees Centigrade. See Figure 2.3, MRO HiRISE EDR
        SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:barrel_baffle_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="binning">
    <xs:annotation>
      <xs:documentation> The binning element provides the HiRISE
        observation binning mode; i.e., the number of lines binned in an
        observation. mro:line_exposure_duration = mro:binning *
        mro:scan_line_duration </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="binning_bg12">
    <xs:annotation>
      <xs:documentation> The binning element provides the HiRISE
        observation binning mode; i.e., the number of lines binned in an
        observation. mro:line_exposure_duration = mro:binning *
        mro:scan_line_duration </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="binning_bg13">
    <xs:annotation>
      <xs:documentation> The binning element provides the HiRISE
        observation binning mode; i.e., the number of lines binned in an
        observation. mro:line_exposure_duration = mro:binning *
        mro:scan_line_duration </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="binning_ir10">
    <xs:annotation>
      <xs:documentation> The binning element provides the HiRISE
        observation binning mode; i.e., the number of lines binned in an
        observation. mro:line_exposure_duration = mro:binning *
        mro:scan_line_duration </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="binning_ir11">
    <xs:annotation>
      <xs:documentation> The binning element provides the HiRISE
        observation binning mode; i.e., the number of lines binned in an
        observation. mro:line_exposure_duration = mro:binning *
        mro:scan_line_duration </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="binning_red0">
    <xs:annotation>
      <xs:documentation> The binning element provides the HiRISE
        observation binning mode; i.e., the number of lines binned in an
        observation. mro:line_exposure_duration = mro:binning *
        mro:scan_line_duration </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="binning_red1">
    <xs:annotation>
      <xs:documentation> The binning element provides the HiRISE
        observation binning mode; i.e., the number of lines binned in an
        observation. mro:line_exposure_duration = mro:binning *
        mro:scan_line_duration </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="binning_red2">
    <xs:annotation>
      <xs:documentation> The binning element provides the HiRISE
        observation binning mode; i.e., the number of lines binned in an
        observation. mro:line_exposure_duration = mro:binning *
        mro:scan_line_duration </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="binning_red3">
    <xs:annotation>
      <xs:documentation> The binning element provides the HiRISE
        observation binning mode; i.e., the number of lines binned in an
        observation. mro:line_exposure_duration = mro:binning *
        mro:scan_line_duration </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="binning_red4">
    <xs:annotation>
      <xs:documentation> The binning element provides the HiRISE
        observation binning mode; i.e., the number of lines binned in an
        observation. mro:line_exposure_duration = mro:binning *
        mro:scan_line_duration </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="binning_red5">
    <xs:annotation>
      <xs:documentation> The binning element provides the HiRISE
        observation binning mode; i.e., the number of lines binned in an
        observation. mro:line_exposure_duration = mro:binning *
        mro:scan_line_duration </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="binning_red6">
    <xs:annotation>
      <xs:documentation> The binning element provides the HiRISE
        observation binning mode; i.e., the number of lines binned in an
        observation. mro:line_exposure_duration = mro:binning *
        mro:scan_line_duration </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="binning_red7">
    <xs:annotation>
      <xs:documentation> The binning element provides the HiRISE
        observation binning mode; i.e., the number of lines binned in an
        observation. mro:line_exposure_duration = mro:binning *
        mro:scan_line_duration </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="binning_red8">
    <xs:annotation>
      <xs:documentation> The binning element provides the HiRISE
        observation binning mode; i.e., the number of lines binned in an
        observation. mro:line_exposure_duration = mro:binning *
        mro:scan_line_duration </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="binning_red9">
    <xs:annotation>
      <xs:documentation> The binning element provides the HiRISE
        observation binning mode; i.e., the number of lines binned in an
        observation. mro:line_exposure_duration = mro:binning *
        mro:scan_line_duration </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="calibration_start_count">
    <xs:annotation>
      <xs:documentation> The calibration_start_count attribute provides
        the spacecraft clock count at the beginning of the first
        calibration image line. </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="calibration_start_time">
    <xs:annotation>
      <xs:documentation> The calibration_start_time attribute provides
        the UTC time at the beginning of the first calibration image
        line. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Date_Time_YMD_UTC">
  <!-- format="YYYY-MM-DDTHH:MM:SS.SSSSSSZ" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ccd_flag_bg12">
    <xs:annotation>
      <xs:documentation> The ccd_flag elements identify which CCDs were
        operating at the time of an observation. There is a special
        processing flag for each CCD used in 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="ccd_flag_bg13">
    <xs:annotation>
      <xs:documentation> The ccd_flag elements identify which CCDs were
        operating at the time of an observation. There is a special
        processing flag for each CCD used in 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="ccd_flag_ir10">
    <xs:annotation>
      <xs:documentation> The ccd_flag elements identify which CCDs were
        operating at the time of an observation. There is a special
        processing flag for each CCD used in 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="ccd_flag_ir11">
    <xs:annotation>
      <xs:documentation> The ccd_flag elements identify which CCDs were
        operating at the time of an observation. There is a special
        processing flag for each CCD used in 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="ccd_flag_red0">
    <xs:annotation>
      <xs:documentation> The ccd_flag elements identify which CCDs were
        operating at the time of an observation. There is a special
        processing flag for each CCD used in 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="ccd_flag_red1">
    <xs:annotation>
      <xs:documentation> The ccd_flag elements identify which CCDs were
        operating at the time of an observation. There is a special
        processing flag for each CCD used in 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="ccd_flag_red2">
    <xs:annotation>
      <xs:documentation> The ccd_flag elements identify which CCDs were
        operating at the time of an observation. There is a special
        processing flag for each CCD used in 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="ccd_flag_red3">
    <xs:annotation>
      <xs:documentation> The ccd_flag elements identify which CCDs were
        operating at the time of an observation. There is a special
        processing flag for each CCD used in 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="ccd_flag_red4">
    <xs:annotation>
      <xs:documentation> The ccd_flag elements identify which CCDs were
        operating at the time of an observation. There is a special
        processing flag for each CCD used in 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="ccd_flag_red5">
    <xs:annotation>
      <xs:documentation> The ccd_flag elements identify which CCDs were
        operating at the time of an observation. There is a special
        processing flag for each CCD used in 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="ccd_flag_red6">
    <xs:annotation>
      <xs:documentation> The ccd_flag elements identify which CCDs were
        operating at the time of an observation. There is a special
        processing flag for each CCD used in 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="ccd_flag_red7">
    <xs:annotation>
      <xs:documentation> The ccd_flag elements identify which CCDs were
        operating at the time of an observation. There is a special
        processing flag for each CCD used in 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="ccd_flag_red8">
    <xs:annotation>
      <xs:documentation> The ccd_flag elements identify which CCDs were
        operating at the time of an observation. There is a special
        processing flag for each CCD used in 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="ccd_flag_red9">
    <xs:annotation>
      <xs:documentation> The ccd_flag elements identify which CCDs were
        operating at the time of an observation. There is a special
        processing flag for each CCD used in 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="channel_number">
    <xs:annotation>
      <xs:documentation> The channel_number attribute provides the
        HiRISE CCD channel number. </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="chirp_frequency_envelope">
    <xs:annotation>
      <xs:documentation>The frequency-dependent amplitude variation used
        in range compression of the raw echo data. All radargrams in the
        SHARAD radargram archive use a uniform-amplitude model.
        </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="cpmm_negative_5_current_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="cpmm_negative_5_current">
    <xs:annotation>
      <xs:documentation> The cpmm_negative_5_current attribute provides
        the negative 5 current of the HiRISE CCD Processing/Memory
        Module. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:cpmm_negative_5_current_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Current" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="cpmm_negative_5_voltage_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="cpmm_negative_5_voltage">
    <xs:annotation>
      <xs:documentation> The cpmm_negative_5_voltage attribute provides
        the negative 5 voltage state of the HiRISE CCD Processing/Memory
        Module. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:cpmm_negative_5_voltage_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Voltage" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="cpmm_number">
    <xs:annotation>
      <xs:documentation> The cpmm_number attribute provides the HiRISE
        CCD Processing/Memory Module number. </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="cpmm_positive_10_current_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="cpmm_positive_10_current">
    <xs:annotation>
      <xs:documentation> The cpmm_positive_10_current attribute provides
        the positive 10 current of the HiRISE CCD Processing/Memory
        Module. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:cpmm_positive_10_current_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Current" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="cpmm_positive_10_voltage_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="cpmm_positive_10_voltage">
    <xs:annotation>
      <xs:documentation> The cpmm_positive_10_voltage attribute provides
        the positive 10 voltage state of the HiRISE CCD
        Processing/Memory Module. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:cpmm_positive_10_voltage_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Voltage" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="cpmm_positive_1_8_current_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="cpmm_positive_1_8_current">
    <xs:annotation>
      <xs:documentation> The cpmm_positive_1_8_current attribute
        provides the positive 1_8 current of the HiRISE CCD
        Processing/Memory Module. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:cpmm_positive_1_8_current_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Current" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="cpmm_positive_1_8_voltage_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="cpmm_positive_1_8_voltage">
    <xs:annotation>
      <xs:documentation> The cpmm_positive_1_8_voltage attribute
        provides the positive 1_8 voltage state of the HiRISE CCD
        Processing/Memory Module. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:cpmm_positive_1_8_voltage_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Voltage" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="cpmm_positive_29_current_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="cpmm_positive_29_current">
    <xs:annotation>
      <xs:documentation> The cpmm_positive_29_current attribute provides
        the positive 29 current of the HiRISE CCD Processing/Memory
        Module. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:cpmm_positive_29_current_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Current" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="cpmm_positive_29_voltage_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="cpmm_positive_29_voltage">
    <xs:annotation>
      <xs:documentation> The cpmm_positive_29_voltage attribute provides
        the positive 29 voltage state of the HiRISE CCD
        Processing/Memory Module. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:cpmm_positive_29_voltage_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Voltage" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="cpmm_positive_2_5_current_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="cpmm_positive_2_5_current">
    <xs:annotation>
      <xs:documentation> The cpmm_positive_2_5_current attribute
        provides the positive 2_5 current of the HiRISE CCD
        Processing/Memory Module. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:cpmm_positive_2_5_current_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Current" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="cpmm_positive_2_5_voltage_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="cpmm_positive_2_5_voltage">
    <xs:annotation>
      <xs:documentation> The cpmm_positive_2_5_voltage attribute
        provides the positive 2_5 voltage state of the HiRISE CCD
        Processing/Memory Module. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:cpmm_positive_2_5_voltage_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Voltage" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="cpmm_positive_3_3_current_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="cpmm_positive_3_3_current">
    <xs:annotation>
      <xs:documentation> The cpmm_positive_3_3_current attribute
        provides the positive 3_3 current of the HiRISE CCD
        Processing/Memory Module. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:cpmm_positive_3_3_current_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Current" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="cpmm_positive_3_3_voltage_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="cpmm_positive_3_3_voltage">
    <xs:annotation>
      <xs:documentation> The cpmm_positive_3_3_voltage attribute
        provides the positive 3_3 voltage state of the HiRISE CCD
        Processing/Memory Module. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:cpmm_positive_3_3_voltage_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Voltage" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="cpmm_positive_5_current_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="cpmm_positive_5_current">
    <xs:annotation>
      <xs:documentation> The cpmm_positive_5_current attribute provides
        the positive 5 current of the HiRISE CCD Processing/Memory
        Module. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:cpmm_positive_5_current_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Current" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="cpmm_positive_5_voltage_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="cpmm_positive_5_voltage">
    <xs:annotation>
      <xs:documentation> The cpmm_positive_5_voltage attribute provides
        the positive 5 voltage state of the HiRISE CCD Processing/Memory
        Module. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:cpmm_positive_5_voltage_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Voltage" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="cpmm_pws_board_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="cpmm_pws_board_temperature">
    <xs:annotation>
      <xs:documentation> The cpmm_pws_board_temperature attribute
        provides the temperature of the HiRISE instrument's CCD
        Processing/Memory Module Power Supply Board in degrees
        Centigrade. See Figure 2.3, MRO HiRISE EDR SIS, REFKEYID
        JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:cpmm_pws_board_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="delta_line_timer_count">
    <xs:annotation>
      <xs:documentation> The delta_line_timer_count element provides the
        commanded count given to the HiRISE instrument to set the scan
        line duration. mro:scan_line_duration = 74 +
        mro:delta_line_timer_count/16 </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="16777216"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="detector_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="detector_temperature">
    <xs:annotation>
      <xs:documentation> The detector_temperature attribute provides the
        temperature of the CRISM IR detector (if sensor_id = 'L'), or
        the VNIR detector (if sensor_id = 'S'). On each detector there
        are two temperature sensors. The primary source of IR detector
        temperature is IR temperature sensor 1 (column 50 in the EDR
        list file). The backup source of IR detector temperature is IR
        temperature sensor 2 (column 51 in the EDR list file). The
        primary source of VNIR detector temperature is VNIR temperature
        sensor 2 (column 65 in the EDR list file). The backup source of
        VNIR detector temperature is VNIR temperature sensor 1 (column
        64 in the EDR list file). </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:detector_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="dll_frequency_correct_count">
    <xs:annotation>
      <xs:documentation> The dll_frequency_correct_count attribute
        provides a count of the number of times the HiRISE 96 MHz clock
        frequency was observed to be correct. This is used with the
        recursive Digital Lock Loop reset circuit. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="dll_locked_flag_01">
    <xs:annotation>
      <xs:documentation> The dll_locked_flag_01 attribute provides the
        state of the 1st 96 Mhz Digital Lock Loop flag for a HiRISE
        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="dll_locked_flag_02">
    <xs:annotation>
      <xs:documentation> The dll_locked_flag_02 attribute provides the
        state of the 2nd 96 Mhz Digital Lock Loop flag for a HiRISE
        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="dll_locked_once_flag_01">
    <xs:annotation>
      <xs:documentation> The dll_locked_once_flag_01 attribute indicates
        if the 1st Digital Lock Loop ever locked during a HiRISE
        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="dll_locked_once_flag_02">
    <xs:annotation>
      <xs:documentation> The dll_locked_once_flag_02 attribute indicates
        if the 2nd Digital Lock Loop ever locked during a HiRISE
        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="dll_reset_count">
    <xs:annotation>
      <xs:documentation> The dll_reset_count attribute provides the
        count of the number of times during a HiRISE observation the 96
        MHz Digital Lock Loop had to be reset in order to lock to the
        incoming 48 Mhz clock and produce an 96 MHz clock.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="exposure_parameter">
    <xs:annotation>
      <xs:documentation> The exposure_parameter attribute identifies the
        value supplied to the CRISM instrument to command the exposure
        time. At a given frame rate identified in frame_rate, there are
        480 possible exposure times ranging from 1 to 480. An exposure
        parameter of 480 yields an exposure time equal to the inverse of
        the frame rate. An exposure time parameter of 1 yields an
        exposure time 1/480 as large. For example, at a frame rate of
        3.75 Hz, an exposure time parameter of 480 yields an exposure
        time of 0.26667 sec, whereas an exposure time parameter of 1
        yields and exposure time of 0.00056 sec. This parameter is
        included independently of the exposure time itself because some
        of the Calibration Data Records (CDRs) are applicable to data
        taken at a particular exposure parameter. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
     <xs:maxInclusive value="480"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="felics_compression_flag">
    <xs:annotation>
      <xs:documentation> The felics_compression_flag element identifies
        whether FELICS data compression was applied to a HiRISE 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="field_stop_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="field_stop_temperature">
    <xs:annotation>
      <xs:documentation> The field_stop_temperature attribute provides
        the temperature of the HiRISE instrument's focus mechanism field
        stop in degrees Centigrade. See Figure 2.3, MRO HiRISE EDR SIS,
        REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:field_stop_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="focus_motor_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="focus_motor_temperature">
    <xs:annotation>
      <xs:documentation> The focus_motor_temperature attribute provides
        the temperature of the HiRISE instrument's focus mirror in
        degrees Centigrade. See Figure 2.3, MRO HiRISE EDR SIS, REFKEYID
        JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:focus_motor_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="focus_position_count">
    <xs:annotation>
      <xs:documentation> The focus_position_count attribute provides the
        raw count of the focus mechanism position in a HiRISE
        observation. </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="fpa_negative_y_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="fpa_negative_y_temperature">
    <xs:annotation>
      <xs:documentation> The fpa_negative_y_temperature attribute
        provides the temperature of the HiRISE instrument's Focal Plane
        Array -Y location in degrees Centigrade. See Figure 2.3, MRO
        HiRISE EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:fpa_negative_y_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="fpa_positive_y_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="fpa_positive_y_temperature">
    <xs:annotation>
      <xs:documentation> The fpa_positive_y_temperature attribute
        provides the temperature of the HiRISE instrument's Focal Plane
        Array +Y side location in degrees Centigrade. See Figure 2.3,
        MRO HiRISE EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:fpa_positive_y_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="fpe_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="fpe_temperature">
    <xs:annotation>
      <xs:documentation> The fpe_temperature attribute provides the
        temperature of the HiRISE or CRISM instrument's Focal Plane
        Electronics in degrees Celsius. For HiRISE, see Figure 2.3, MRO
        HiRISE EDR SIS, REFKEYID JPLD-32004. For CRISM, the value refers
        to the focal plane electronics board mounted in the base of the
        gimbal. The values represents IR focal plane electronics if
        sensor_id = 'L', and to the VNIR focal plane electronics if
        sensor_id = 'S'. The source of CRISM IR focal plane electronics
        temperature is column 60 in the EDR list file. The source of
        VNIR focal plane electronics temperature is column 71 in the EDR
        list file. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:fpe_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="fram_stat_iqr_conf_lvl">
    <xs:annotation>
      <xs:documentation> The fram_stat_iqr_conf_lvl attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the confidence level parameter associated with the
        Grubb's Test used for outlier detection of attributes of the
        normalized median profile of the frame interquartile range in
        the detection of bad frames during the preprocessing steps.
        Typical values are near 0.95. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="1"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="fram_stat_median_box_width">
    <xs:annotation>
      <xs:documentation> The fram_stat_median_box_width attribute is one
        of the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the kernel size of a median filter used on the
        frame median profile in the computation of bad frames during
        preprocessing steps. </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="fram_stat_median_conf_lvl">
    <xs:annotation>
      <xs:documentation> The fram_stat_median_conf_lvl attribute is one
        of the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the confidence level parameter associated with the
        Grubb's Test used for outlier detection of attributes of the
        normalized median frame profile in the detection of bad frames
        during the preprocessing steps. Typical values are near 0.95.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="1"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="fram_stat_min_deviation">
    <xs:annotation>
      <xs:documentation> The fram_stat_min_deviation attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the minimum deviation from the mean of an
        attribute of the normalized frame median profile necessary to be
        classified as a bad frame during the preprocessing steps.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="1"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="frame_rate_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="frame_rate">
    <xs:annotation>
      <xs:documentation> The frame_rate attribute identifies the rate at
        which frames of data in a CRISM EDR were returned.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:frame_rate_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Frame_Rate" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="hdf_software_name">
    <xs:annotation>
      <xs:documentation> The hdf_software_name attribute provides the
        name of the CRISM hyperspectral data filter software used to
        process radiance TRDR data into I/F. </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="hdf_software_version_id">
    <xs:annotation>
      <xs:documentation> The hdf_software_version_id attribute indicates
        the version of the software used by the CRISM hyperspectral data
        filter application. </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="heater_control_flag_00">
    <xs:annotation>
      <xs:documentation> The heater_control_flag element is a set of 14
        on/off flags that indicate which of the 14 heater control areas
        were on at the time of a HiRISE 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="heater_control_flag_01">
    <xs:annotation>
      <xs:documentation> The heater_control_flag element is a set of 14
        on/off flags that indicate which of the 14 heater control areas
        were on at the time of a HiRISE 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="heater_control_flag_02">
    <xs:annotation>
      <xs:documentation> The heater_control_flag element is a set of 14
        on/off flags that indicate which of the 14 heater control areas
        were on at the time of a HiRISE 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="heater_control_flag_03">
    <xs:annotation>
      <xs:documentation> The heater_control_flag element is a set of 14
        on/off flags that indicate which of the 14 heater control areas
        were on at the time of a HiRISE 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="heater_control_flag_04">
    <xs:annotation>
      <xs:documentation> The heater_control_flag element is a set of 14
        on/off flags that indicate which of the 14 heater control areas
        were on at the time of a HiRISE 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="heater_control_flag_05">
    <xs:annotation>
      <xs:documentation> The heater_control_flag element is a set of 14
        on/off flags that indicate which of the 14 heater control areas
        were on at the time of a HiRISE 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="heater_control_flag_06">
    <xs:annotation>
      <xs:documentation> The heater_control_flag element is a set of 14
        on/off flags that indicate which of the 14 heater control areas
        were on at the time of a HiRISE 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="heater_control_flag_07">
    <xs:annotation>
      <xs:documentation> The heater_control_flag element is a set of 14
        on/off flags that indicate which of the 14 heater control areas
        were on at the time of a HiRISE 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="heater_control_flag_08">
    <xs:annotation>
      <xs:documentation> The heater_control_flag element is a set of 14
        on/off flags that indicate which of the 14 heater control areas
        were on at the time of a HiRISE 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="heater_control_flag_09">
    <xs:annotation>
      <xs:documentation> The heater_control_flag element is a set of 14
        on/off flags that indicate which of the 14 heater control areas
        were on at the time of a HiRISE 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="heater_control_flag_10">
    <xs:annotation>
      <xs:documentation> The heater_control_flag element is a set of 14
        on/off flags that indicate which of the 14 heater control areas
        were on at the time of a HiRISE 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="heater_control_flag_11">
    <xs:annotation>
      <xs:documentation> The heater_control_flag element is a set of 14
        on/off flags that indicate which of the 14 heater control areas
        were on at the time of a HiRISE 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="heater_control_flag_12">
    <xs:annotation>
      <xs:documentation> The heater_control_flag element is a set of 14
        on/off flags that indicate which of the 14 heater control areas
        were on at the time of a HiRISE 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="heater_control_flag_13">
    <xs:annotation>
      <xs:documentation> The heater_control_flag element is a set of 14
        on/off flags that indicate which of the 14 heater control areas
        were on at the time of a HiRISE 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="heater_control_mode">
    <xs:annotation>
      <xs:documentation> The heater_control_mode attribute provides the
        state of the HiRISE heater control, either closed-loop or
        duty-cycle. Normally the closed-loop mode is used to keep
        nominal operating temperatures of the instrument. A duty-cycle
        mode is enabled during periods of high EM emissions from other
        MRO instruments. </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="heater_current_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="heater_current">
    <xs:annotation>
      <xs:documentation> The heater_current attribute provides the
        HiRISE heater current in amps. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:heater_current_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Current" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="ie_pws_board_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="ie_pws_board_temperature">
    <xs:annotation>
      <xs:documentation> The ie_pws_board_temperature attribute provides
        the temperature of the HiRISE instrument's Instrument
        Electronics Power Supply Board in degrees Centigrade. See Figure
        2.3, MRO HiRISE EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:ie_pws_board_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="iea_negative_15_voltage_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="iea_negative_15_voltage">
    <xs:annotation>
      <xs:documentation> The iea_negative_15_voltage attribute provides
        the negative 15 voltage state of the HiRISE Interface
        Electronics Assembly. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:iea_negative_15_voltage_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Voltage" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="iea_positive_15_voltage_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="iea_positive_15_voltage">
    <xs:annotation>
      <xs:documentation> The iea_positive_15_voltage attribute provides
        the positive 15 voltage state of the HiRISE Interface
        Electronics Assembly. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:iea_positive_15_voltage_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Voltage" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="iea_positive_28_voltage_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="iea_positive_28_voltage">
    <xs:annotation>
      <xs:documentation> The iea_positive_28_voltage attribute provides
        the positive 28 voltage state of the HiRISE Interface
        Electronics Assembly. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:iea_positive_28_voltage_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Voltage" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="iea_positive_5_voltage_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="iea_positive_5_voltage">
    <xs:annotation>
      <xs:documentation> The iea_positive_5_voltage attribute provides
        the positive 5 voltage state of the HiRISE Interface Electronics
        Assembly. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:iea_positive_5_voltage_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Voltage" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="iea_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="iea_temperature">
    <xs:annotation>
      <xs:documentation> The iea_temperature attribute provides the
        temperature of the HiRISE instrument's Instrument Electronics
        Assembly in degrees Centigrade. See Figure 2.3, MRO HiRISE EDR
        SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:iea_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="if_max_value">
    <xs:annotation>
      <xs:documentation> The if_max_value attribute is one of the
        control parameters for the CRISM hyperspectral data filtering
        application used to convert TRR3 radiance data to I/F and
        indicates the maximum valid value in units of I/F. Values
        outside of the valid range of I/F values are ignored during
        preprocessing steps. </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="if_min_value">
    <xs:annotation>
      <xs:documentation> The if_min_value attribute is one of the
        control parameters for the CRISM hyperspectral data filtering
        application used to convert TRR3 radiance data to I/F and
        indicates the minimum valid value in units of I/F. Values
        outside of the valid range of I/F values are ignored during
        preprocessing steps. </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:complexType name="ikf_confidence_level_r1">
    <xs:annotation>
      <xs:documentation> The ikf_confidence_level_r1 attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the confidence level parameter associated with the
        Grubb's Test used for outlier detection of attributes of the
        model residuals in the Iterative Kernel Filter procedure.
        Spectral region 1. Typical values are near 0.95.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Real">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_confidence_level_r2">
    <xs:annotation>
      <xs:documentation> The ikf_confidence_level_r2 attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the confidence level parameter associated with the
        Grubb's Test used for outlier detection of attributes of the
        model residuals in the Iterative Kernel Filter procedure.
        Spectral region 2. Typical values are near 0.95.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Real">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_kernel_size_x_r1">
    <xs:annotation>
      <xs:documentation> The ikf_kernel_size_x_r1 attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the size of the kernel in the X direction used in
        the Iterative Kernel Filter procedure. Spectral region 1.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_kernel_size_x_r2">
    <xs:annotation>
      <xs:documentation> The ikf_kernel_size_x_r2 attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the size of the kernel in the X direction used in
        the Iterative Kernel Filter procedure. Spectral region 2.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_kernel_size_y_r1">
    <xs:annotation>
      <xs:documentation> The ikf_kernel_size_y_r1 attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the size of the kernel in the Y direction used in
        the Iterative Kernel Filter procedure. Spectral region 1.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_kernel_size_y_r2">
    <xs:annotation>
      <xs:documentation> The ikf_kernel_size_y_r2 attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the size of the kernel in the Y direction used in
        the Iterative Kernel Filter procedure. Spectral region 2.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_kernel_size_z_r1">
    <xs:annotation>
      <xs:documentation> The ikf_kernel_size_z_r1 attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the size of the kernel in the Z direction used in
        the Iterative Kernel Filter procedure. Spectral region 1.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_kernel_size_z_r2">
    <xs:annotation>
      <xs:documentation> The ikf_kernel_size_z_r2 attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the size of the kernel in the Z direction used in
        the Iterative Kernel Filter procedure. Spectral region 2.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_model_order_x_r1">
    <xs:annotation>
      <xs:documentation> The ikf_model_order_x_r1 attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the dimensionality of the model in the X direction
        used in the Iterative Kernel Filter procedure. Spectral region
        1. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_model_order_x_r2">
    <xs:annotation>
      <xs:documentation> The ikf_model_order_x_r2 attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the dimensionality of the model in the X direction
        used in the Iterative Kernel Filter procedure. Spectral region
        2. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_model_order_y_r1">
    <xs:annotation>
      <xs:documentation> The ikf_model_order_y_r1 attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the dimensionality of the model in the Y direction
        used in the Iterative Kernel Filter procedure. Spectral region
        1. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_model_order_y_r2">
    <xs:annotation>
      <xs:documentation> The ikf_model_order_y_r2 attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the dimensionality of the model in the Y direction
        used in the Iterative Kernel Filter procedure. Spectral region
        2. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_model_order_z_r1">
    <xs:annotation>
      <xs:documentation> The ikf_model_order_z_r1 attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the dimensionality of the model in the Z direction
        used in the Iterative Kernel Filter procedure. Spectral region
        1. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_model_order_z_r2">
    <xs:annotation>
      <xs:documentation> The ikf_model_order_z_r2 attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the dimensionality of the model in the Z direction
        used in the Iterative Kernel Filter procedure. Spectral region
        2. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_num_regions">
    <xs:annotation>
      <xs:documentation> The ikf_num_regions attribute is one of the
        control parameters for the CRISM hyperspectral data filtering
        application used to convert TRR3 radiance data to I/F and
        indicates the number of spectral regions identified for the
        application of the Iterative Kernel Filter procedure.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_start_channel_r1">
    <xs:annotation>
      <xs:documentation> The ikf_start_channel_r1 attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the first channel number for spectral region 1 of
        the Iterative Kernel Filter procedure. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_start_channel_r2">
    <xs:annotation>
      <xs:documentation> The ikf_start_channel_r2 attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the first channel number for spectral region 2 of
        the Iterative Kernel Filter procedure. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_stop_channel_r1">
    <xs:annotation>
      <xs:documentation> The ikf_stop_channel_r1 attribute is one of the
        control parameters for the CRISM hyperspectral data filtering
        application used to convert TRR3 radiance data to I/F and
        indicates the last channel number for spectral region 1 of the
        Iterative Kernel Filter procedure. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_stop_channel_r2">
    <xs:annotation>
      <xs:documentation> The ikf_stop_channel_r2 attribute is one of the
        control parameters for the CRISM hyperspectral data filtering
        application used to convert TRR3 radiance data to I/F and
        indicates the last channel number for spectral region 2 of the
        Iterative Kernel Filter procedure. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_weighting_stddev_r1">
    <xs:annotation>
      <xs:documentation> The ikf_weighting_stddev_r1 attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the weighting parameter for the final model
        evaluation in the Iterative Kernel Filter procedure. Spectral
        region 1. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Real">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ikf_weighting_stddev_r2">
    <xs:annotation>
      <xs:documentation> The ikf_weighting_stddev_r2 attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the weighting parameter for the final model
        evaluation in the Iterative Kernel Filter procedure. Spectral
        region 2. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Real">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="image_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="image_exposure_duration">
    <xs:annotation>
      <xs:documentation> The image_exposure_duration attribute provides
        the total time of a HiRISE observation from the start of the
        first line to the end of the last line computed by multiplying
        the total number of lines in the array times the line exposure
        duration. Units of microseconds. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:image_exposure_duration_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="inst_cont_board_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="inst_cont_board_temperature">
    <xs:annotation>
      <xs:documentation> The inst_cont_board_temperature attribute
        provides the temperature of the HiRISE instrument control board
        in degrees Centigrade. See Figure 2.3, MRO HiRISE EDR SIS,
        REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:inst_cont_board_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="inst_cont_fpga_pos_2_5_voltage_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="inst_cont_fpga_pos_2_5_voltage">
    <xs:annotation>
      <xs:documentation> The inst_cont_fpga_pos_2_5_voltage attribute
        provides the positive 2_5 voltage state of the HiRISE instrument
        control Field-Programmable Gate Array. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:inst_cont_fpga_pos_2_5_voltage_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Voltage" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="instrument_pointing_mode">
    <xs:annotation>
      <xs:documentation> The instrument_pointing_mode element identifies
        the pointing mode of the CRISM gimbal. </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="inv_lookup_table_file_name">
    <xs:annotation>
      <xs:documentation> The inv_lookup_table_file_name element
        identifies the name of the CRISM file that gives the 12-bit DN
        value replacing each 8-bit DN value if lossy compression was
        performed (if compression_type=8_BIT). The inverse lookup table
        file is a nine-column, 4095-row text file. Column 1 gives each
        8-bit value, 0 through 255. Columns 2 through 9 give the 12-bit
        values that replace them if lookup tables 0 through 7,
        respectively, were selected for data acquisition. Lookup tables
        are selected on a line by line basis. Which table is used for
        each line is indicated in the pixel-processing descriptive file
        named in pixel_proc_file_name. </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="line_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="line_exposure_duration">
    <xs:annotation>
      <xs:documentation> The line_exposure_duration attribute provides
        the time from the start of exposure of one binned line to the
        start of exposure of the next binned line in a HiRISE image.
        Units of microseconds. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:line_exposure_duration_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="line_prefix_bytes">
    <xs:annotation>
      <xs:documentation> The line prefix bytes attribute reports the
        number of bytes that precede the observational data for each
        line of a HiRISE or CTX image. For HiRISE, the prefix includes 6
        bytes of line identification information and the values of 12
        buffer pixels, which contain the value of empty pixels after
        going through the instrument electronics. </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="line_suffix_bytes">
    <xs:annotation>
      <xs:documentation> The line suffix bytes attribute reports the
        number of bytes that follow the observational data for each line
        of a HiRISE or CTX image. For HiRISE, the suffix contains 16
        dark reference pixel values produced by masked detectors.
        </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:complexType name="log_xform_neg_clip_value">
    <xs:annotation>
      <xs:documentation> The log_xform_neg_clip_value attribute is one
        of the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the value used for any negative I/F value in the
        log base 10 transform. This effectively represents the minimum
        possible pixel value for the Iterative Kernel Filter procedure.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Real">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="lookup_table_k_value">
    <xs:annotation>
      <xs:documentation> The lookup_table_k_value attribute provides the
        'pixel spread' value in a HiRISE image. This parameter is used
        only for the HiRISE SQUARE-ROOT LUT table mode. A -9998 value
        indicates a K value was not used. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9998"/>
     <xs:maxInclusive value="32"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="lookup_table_maximum">
    <xs:annotation>
      <xs:documentation> The lookup_table_maximum attribute provides the
        maximum 14-bit pixel value mapped to the 254 DN 8-bit pixel in a
        HiRISE image. This parameter is used only for the HiRISE LINEAR
        LUT table mode. A -9998 value indicates that the maximum value
        was not used. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9998"/>
     <xs:maxInclusive value="16384"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="lookup_table_median">
    <xs:annotation>
      <xs:documentation> The lookup_table_median attribute provides the
        median 14-bit pixel value mapped to the 254 DN 8-bit pixel in a
        HiRISE image. This parameter is used only for the HiRISE
        SQUARE-ROOT LUT table mode. A -9998 value indicates that the
        table median value was not used. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9998"/>
     <xs:maxInclusive value="16384"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="lookup_table_minimum">
    <xs:annotation>
      <xs:documentation> The lookup_table_minimum attribute provides the
        minimum 14-bit pixel value mapped to the 0 DN output pixel in a
        HiRISE image. This parameter is used only for the HiRISE LINEAR
        LUT table mode. A -9998 value indicates that the maximum value
        was not used. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9998"/>
     <xs:maxInclusive value="16384"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="lookup_table_number">
    <xs:annotation>
      <xs:documentation> The lookup_table_number attribute provides the
        number of the stored LUT used in a HiRISE image. This parameter
        is used only for the HiRISE STORED LUT table mode. A value of
        -9998 indicates that a table number was not used.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9998"/>
     <xs:maxInclusive value="28"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="lookup_table_type">
    <xs:annotation>
      <xs:documentation> The lookup_table_type attribute provides the
        type of lookup table that was applied to convert 14-bit pixels
        to 8-bit pixels in a HiRISE 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="max_line">
    <xs:annotation>
      <xs:documentation>The index of the highest-numbered line/row of
        this product relative to the original CRISM scene. The first
        line of the original CRISM scene corresponds to a value of 1.
        </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="max_sample">
    <xs:annotation>
      <xs:documentation>The index of the highest-numbered sample/column
        of this product relative to the original CRISM scene. The first
        sample of the original CRISM scene corresponds to a value of 1.
        </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="maximum_stretch">
    <xs:annotation>
      <xs:documentation> The maximum_stretch attribute provides a
        contrast stretch value to be used in the display of a HiRISE
        Image. The mro.maximum_stretch parameter specifies the DN value
        to map to the 255 DN value of the display. For color images,
        there will be three values, one for each color.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="1024"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="mech_tlm_board_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="mech_tlm_board_temperature">
    <xs:annotation>
      <xs:documentation> The mech_tlm_board_temperature attribute
        provides the temperature of the HiRISE instrument's Mech/TLM
        Board in degrees Centigrade. See Figure 2.3, MRO HiRISE EDR SIS,
        REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:mech_tlm_board_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="mech_tlm_fpga_pos_2_5_voltage_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="mech_tlm_fpga_pos_2_5_voltage">
    <xs:annotation>
      <xs:documentation> The mech_tlm_fpga_pos_2_5_voltage attribute
        provides the positive 2_5 voltage state of the HiRISE Mech/TLM
        Field-Programmable Gate Array. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:mech_tlm_fpga_pos_2_5_voltage_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Voltage" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="min_line">
    <xs:annotation>
      <xs:documentation>The index of the lowest-numbered line/row of
        this product relative to the original CRISM scene. The first
        line of the original CRISM scene corresponds to a value of 1.
        </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="min_sample">
    <xs:annotation>
      <xs:documentation>The index of the lowest-numbered sample/column
        of this product relative to the original CRISM scene. The first
        sample of the original CRISM scene corresponds to a value of 1.
        </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="minimum_stretch">
    <xs:annotation>
      <xs:documentation> The minimum_stretch attribute provides a
        contrast stretch value to be used in the display of a HiRISE
        Image. The mro.minimum_stretch parameter specifies the DN value
        to map to the 0 DN value of the display. For color images, there
        will be three values, one for each color. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="1024"/>
	   </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="ms_truss_leg_0_a_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="ms_truss_leg_0_a_temperature">
    <xs:annotation>
      <xs:documentation> The ms_truss_leg_0_a_temperature attribute
        provides the temperature of the HiRISE instrument's metering
        structure truss 0-A leg in degrees Centigrade. See Figure 2.3,
        MRO HiRISE EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:ms_truss_leg_0_a_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="ms_truss_leg_0_b_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="ms_truss_leg_0_b_temperature">
    <xs:annotation>
      <xs:documentation> The ms_truss_leg_0_b_temperature attribute
        provides the temperature of the HiRISE instrument's metering
        structure truss 0-B leg in degrees Centigrade. See Figure 2.3,
        MRO HiRISE EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:ms_truss_leg_0_b_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="ms_truss_leg_120_a_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="ms_truss_leg_120_a_temperature">
    <xs:annotation>
      <xs:documentation> The ms_truss_leg_120_a_temperature attribute
        provides the temperature of the HiRISE instrument's metering
        structure truss 120-A leg in degrees Centigrade. See Figure 2.3,
        MRO HiRISE EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:ms_truss_leg_120_a_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="ms_truss_leg_120_b_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="ms_truss_leg_120_b_temperature">
    <xs:annotation>
      <xs:documentation> The ms_truss_leg_120_b_temperature attribute
        provides the temperature of the HiRISE instrument's metering
        structure truss 120-B leg in degrees Centigrade. See Figure 2.3,
        MRO HiRISE EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:ms_truss_leg_120_b_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="ms_truss_leg_240_a_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="ms_truss_leg_240_a_temperature">
    <xs:annotation>
      <xs:documentation> The ms_truss_leg_240_a_temperature attribute
        provides the temperature of the HiRISE instrument's metering
        structure truss 240-A leg in degrees Centigrade. See Figure 2.3,
        MRO HiRISE EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:ms_truss_leg_240_a_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="ms_truss_leg_240_b_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="ms_truss_leg_240_b_temperature">
    <xs:annotation>
      <xs:documentation> The ms_truss_leg_240_b_temperature attribute
        provides the temperature of the HiRISE instrument's metering
        structure truss 240-B leg in degrees Centigrade. See Figure 2.3,
        MRO HiRISE EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:ms_truss_leg_240_b_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="multilook_doppler_bandwidth_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="multilook_doppler_bandwidth">
    <xs:annotation>
      <xs:documentation>The frequency span over which radar echoes are
        averaged, following synthetic aperture processing for each
        spatial footprint along the ground track. This frequency span is
        measured to either side of the zero-frequency component of the
        Doppler spectrum. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:multilook_doppler_bandwidth_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Frequency" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="name">
    <xs:annotation>
      <xs:documentation>The name element provides the name of the
        parameter which determines the sampling interval of a particular
        instrument or dataset parameter. For example, magnetic field
        intensity is sampled in time increments, and a spectrum is
        sampled in wavelength or frequency. </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="number_of_looks">
    <xs:annotation>
      <xs:documentation>The number of frequency-resolved cells included
        in the multi-look averaging. This varies with the chosen
        frequency span and the Doppler resolution set by the inverse of
        the coherent integration time. </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="observation_id">
    <xs:annotation>
      <xs:documentation> The observation_id attribute is a 8-byte
        hexadecimal integer uniquely identifying 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="observation_number">
    <xs:annotation>
      <xs:documentation> The observation_number attribute gives the
        monotonically increasing ordinal counter of the EDRs generated
        for a particular CRISM observation_id. CRISM generates several
        EDRs for a given observation_id. </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="observation_rationale">
    <xs:annotation>
      <xs:documentation> The observation_rationale attribute identifies
        the name of the specific feature on Mars that was targeted by
        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="observation_start_time">
    <xs:annotation>
      <xs:documentation> The observation_start_time attribute provides
        the UTC start time of a HiRISE image acquisition sequence.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Date_Time_YMD_UTC">
  <!-- format="YYYY-MM-DDTHH:MM:SS.SSSSSSZ" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="observation_type">
    <xs:annotation>
      <xs:documentation> The observation_type attribute identifies the
        general type of 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="opt_bnch_box_beam_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="opt_bnch_box_beam_temperature">
    <xs:annotation>
      <xs:documentation> The opt_bnch_box_beam_temperature attribute
        provides the temperature of the HiRISE instrument's optical
        bench near the box beam (+Y face) in degrees Centigrade. See
        Figure 2.3, MRO HiRISE EDR SIS, REFKEYID JPLD-32004.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:opt_bnch_box_beam_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="opt_bnch_cover_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="opt_bnch_cover_temperature">
    <xs:annotation>
      <xs:documentation> The opt_bnch_cover_temperature attribute
        provides the temperature of the HiRISE instrument's optical
        bench cover (external) in degrees Centigrade. See Figure 2.3,
        MRO HiRISE EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:opt_bnch_cover_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="opt_bnch_flexure_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="opt_bnch_flexure_temperature">
    <xs:annotation>
      <xs:documentation> The opt_bnch_flexure_temperature attribute
        provides the temperature of the HiRISE instrument's optical
        bench near the +X MDR flexure in degrees Centigrade. See Figure
        2.3, MRO HiRISE EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:opt_bnch_flexure_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="opt_bnch_fold_flat_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="opt_bnch_fold_flat_temperature">
    <xs:annotation>
      <xs:documentation> The opt_bnch_fold_flat_temperature attribute
        provides the temperature of the HiRISE instrument's optical fold
        flat mirror location in degrees Centigrade. See Figure 2.3, MRO
        HiRISE EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:opt_bnch_fold_flat_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="opt_bnch_fpa_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="opt_bnch_fpa_temperature">
    <xs:annotation>
      <xs:documentation> The opt_bnch_fpa_temperature attribute provides
        the temperature of the HiRISE instrument's optical bench near
        the Focal Plane Array in degrees Centigrade. See Figure 2.3, MRO
        HiRISE EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:opt_bnch_fpa_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="opt_bnch_fpe_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="opt_bnch_fpe_temperature">
    <xs:annotation>
      <xs:documentation> The opt_bnch_fpe_temperature attribute provides
        the temperature of the HiRISE instrument's optical bench near
        the Focal Plane Electronics in degrees Centigrade. See Figure
        2.3, MRO HiRISE EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:opt_bnch_fpe_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="opt_bnch_living_rm_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="opt_bnch_living_rm_temperature">
    <xs:annotation>
      <xs:documentation> The opt_bnch_living_rm_temperature attribute
        provides the temperature of the HiRISE instrument's optical
        bench in the sunken living room location in degrees Centigrade.
        See Figure 2.3, MRO HiRISE EDR SIS, REFKEYID JPLD-32004.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:opt_bnch_living_rm_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="opt_bnch_mirror_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="opt_bnch_mirror_temperature">
    <xs:annotation>
      <xs:documentation> The opt_bnch_mirror_temperature attribute
        provides the temperature of the HiRISE instrument's optical
        bench near the tertiary mirror in degrees Centigrade. See Figure
        2.3, MRO HiRISE EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:opt_bnch_mirror_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="optical_bench_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="optical_bench_temperature">
    <xs:annotation>
      <xs:documentation> The optical_bench_temperature attribute
        provides the temperature of the CRISM optical bench. It is a
        backup to sphere_temperature for modeling the output radiance of
        the onboard integrating sphere as a function of sphere
        temperature. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:optical_bench_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <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="pixel_proc_file_name">
    <xs:annotation>
      <xs:documentation> The pixel_proc_file_name attribute gives the
        name of the file that documents the CRISM onboard compression
        options selected. Onboard compression converts a 14- bit DN with
        a value of 0-16383 to a 12-bit- 0-4095 value or 8-bit 0-255
        value for downlink. Corrections are done on a line by line
        basis. The pixel processing file is a 4- column, 480-row text
        file. The four attributes in each row are the row number, the
        gain correction performed, the offset correction performed, and
        the 12 to 8 bit lookup table used if lossy compression is
        performed. Both gain and offset corrections are always performed
        to convert 14-bit to 12-bit values prior to downlink. First the
        offset is subtracted from the 14-bit value. Then the difference
        is multiplied by the gain to shorten the result to a 12-bit
        value. If lossy compression is being performed (if
        compression_type = 8_BIT), then the 12- to 8-bit lookup table
        value gives the table in the file named by
        lookup_table_file_name that was used to convert the 12-bit value
        to an 8- bit value. </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="powered_cpmm_flag_00">
    <xs:annotation>
      <xs:documentation> The powered_cpmm_flag attribute provides a set
        of 14 values that identify which HiRISE CCD Processing/Memory
        Modules were commanded to acquire imaging during the
        observation. The first element is for CPMM 0 and the last
        element is for CPMM 13. </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="powered_cpmm_flag_01">
    <xs:annotation>
      <xs:documentation> The powered_cpmm_flag attribute provides a set
        of 14 values that identify which HiRISE CCD Processing/Memory
        Modules were commanded to acquire imaging during the
        observation. The first element is for CPMM 0 and the last
        element is for CPMM 13. </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="powered_cpmm_flag_02">
    <xs:annotation>
      <xs:documentation> The powered_cpmm_flag attribute provides a set
        of 14 values that identify which HiRISE CCD Processing/Memory
        Modules were commanded to acquire imaging during the
        observation. The first element is for CPMM 0 and the last
        element is for CPMM 13. </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="powered_cpmm_flag_03">
    <xs:annotation>
      <xs:documentation> The powered_cpmm_flag attribute provides a set
        of 14 values that identify which HiRISE CCD Processing/Memory
        Modules were commanded to acquire imaging during the
        observation. The first element is for CPMM 0 and the last
        element is for CPMM 13. </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="powered_cpmm_flag_04">
    <xs:annotation>
      <xs:documentation> The powered_cpmm_flag attribute provides a set
        of 14 values that identify which HiRISE CCD Processing/Memory
        Modules were commanded to acquire imaging during the
        observation. The first element is for CPMM 0 and the last
        element is for CPMM 13. </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="powered_cpmm_flag_05">
    <xs:annotation>
      <xs:documentation> The powered_cpmm_flag attribute provides a set
        of 14 values that identify which HiRISE CCD Processing/Memory
        Modules were commanded to acquire imaging during the
        observation. The first element is for CPMM 0 and the last
        element is for CPMM 13. </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="powered_cpmm_flag_06">
    <xs:annotation>
      <xs:documentation> The powered_cpmm_flag attribute provides a set
        of 14 values that identify which HiRISE CCD Processing/Memory
        Modules were commanded to acquire imaging during the
        observation. The first element is for CPMM 0 and the last
        element is for CPMM 13. </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="powered_cpmm_flag_07">
    <xs:annotation>
      <xs:documentation> The powered_cpmm_flag attribute provides a set
        of 14 values that identify which HiRISE CCD Processing/Memory
        Modules were commanded to acquire imaging during the
        observation. The first element is for CPMM 0 and the last
        element is for CPMM 13. </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="powered_cpmm_flag_08">
    <xs:annotation>
      <xs:documentation> The powered_cpmm_flag attribute provides a set
        of 14 values that identify which HiRISE CCD Processing/Memory
        Modules were commanded to acquire imaging during the
        observation. The first element is for CPMM 0 and the last
        element is for CPMM 13. </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="powered_cpmm_flag_09">
    <xs:annotation>
      <xs:documentation> The powered_cpmm_flag attribute provides a set
        of 14 values that identify which HiRISE CCD Processing/Memory
        Modules were commanded to acquire imaging during the
        observation. The first element is for CPMM 0 and the last
        element is for CPMM 13. </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="powered_cpmm_flag_10">
    <xs:annotation>
      <xs:documentation> The powered_cpmm_flag attribute provides a set
        of 14 values that identify which HiRISE CCD Processing/Memory
        Modules were commanded to acquire imaging during the
        observation. The first element is for CPMM 0 and the last
        element is for CPMM 13. </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="powered_cpmm_flag_11">
    <xs:annotation>
      <xs:documentation> The powered_cpmm_flag attribute provides a set
        of 14 values that identify which HiRISE CCD Processing/Memory
        Modules were commanded to acquire imaging during the
        observation. The first element is for CPMM 0 and the last
        element is for CPMM 13. </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="powered_cpmm_flag_12">
    <xs:annotation>
      <xs:documentation> The powered_cpmm_flag attribute provides a set
        of 14 values that identify which HiRISE CCD Processing/Memory
        Modules were commanded to acquire imaging during the
        observation. The first element is for CPMM 0 and the last
        element is for CPMM 13. </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="powered_cpmm_flag_13">
    <xs:annotation>
      <xs:documentation> The powered_cpmm_flag attribute provides a set
        of 14 values that identify which HiRISE CCD Processing/Memory
        Modules were commanded to acquire imaging during the
        observation. The first element is for CPMM 0 and the last
        element is for CPMM 13. </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="primary_mirror_baf_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="primary_mirror_baf_temperature">
    <xs:annotation>
      <xs:documentation> The primary_mirror_baf_temperature attribute
        provides the temperature of the HiRISE instrument's primary
        mirror baffle near the base (external) in degrees Centigrade.
        See Figure 2.3, MRO HiRISE EDR SIS, REFKEYID JPLD-32004.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:primary_mirror_baf_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="primary_mirror_mnt_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="primary_mirror_mnt_temperature">
    <xs:annotation>
      <xs:documentation> The primary_mirror_mnt_temperature attribute
        provides the temperature of the HiRISE instrument's primary
        mirror mount in degrees Centigrade. See Figure 2.3, MRO HiRISE
        EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:primary_mirror_mnt_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="primary_mirror_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="primary_mirror_temperature">
    <xs:annotation>
      <xs:documentation> The primary_mirror_temperature attribute
        provides the temperature of the HiRISE instrument's primary
        mirror at its maximum thickness in degrees Centigrade. See
        Figure 2.3, MRO HiRISE EDR SIS, REFKEYID JPLD-32004.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:primary_mirror_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="producer_institution_name">
    <xs:annotation>
      <xs:documentation> The producer_institution_name attribute
        identifies the name of the institution that created the 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_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="range_compression_window">
    <xs:annotation>
      <xs:documentation>The windowing function used to reduce sidelobes
        resulting from range compression of the raw echo records. All
        radargrams in the SHARAD radargram archive use a Hann function.
        </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="readout_start_count">
    <xs:annotation>
      <xs:documentation> The readout_start_count attribute provides the
        spacecraft clock count when the HiRISE CCD Process/Memory Module
        begins transferring image data out of its buffer memory.
        </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="readout_start_time">
    <xs:annotation>
      <xs:documentation> The readout_start_time attribute provides the
        UTC time when the HiRISE CCD Process/Memory Module begins
        transferring image data out of buffer memory. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Date_Time_YMD_UTC">
  <!-- format="YYYY-MM-DDTHH:MM:SS.SSSSSSZ" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="refz_median_box_width">
    <xs:annotation>
      <xs:documentation> The refz_median_box_width attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the kernel size of a median filter used in the
        spectral direction in the computation of the reference cube
        during the preprocessing steps. </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="refz_smooth_box_width">
    <xs:annotation>
      <xs:documentation> The refz_smooth_box_width attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the kernel size of a boxcar smoothing filter used
        in the spectral direction in the computation of the reference
        cube during the preprocessing steps. </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="release_id">
    <xs:annotation>
      <xs:documentation>release_id is the identifier of a scheduled
        release of MRO data from PDS. The first MRO 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="rsc_ratio_xy_median_width">
    <xs:annotation>
      <xs:documentation> The rsc_ratio_xy_median_width attribute is one
        of the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the kernel size of a median filter used as part of
        the application of the ratio shift correction procedure in the
        XY direction while computing the ratio cube during the
        preprocessing steps. </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="rsc_ratio_xy_smooth_width">
    <xs:annotation>
      <xs:documentation> The rsc_ratio_xy_smooth_width attribute is one
        of the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the kernel size of a boxcar smoothing filter used
        as part of the application of the ratio shift correction
        procedure in the XY direction while computing the ratio cube
        during the preprocessing steps. </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="rsc_ref_xy_median_width">
    <xs:annotation>
      <xs:documentation> The rsc_ref_xy_median_width attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the kernel size of a median filter used as part of
        the application of the ratio shift correction procedure in the
        XY direction while computing the reference cube during the
        preprocessing steps. </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="rsc_ref_xy_smooth_width">
    <xs:annotation>
      <xs:documentation> The rsc_ref_xy_smooth_width attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the kernel size of a boxcar smoothing filter used
        as part of the application of the ratio shift correction
        procedure in the XY direction while computing the reference cube
        during the preprocessing steps. </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="rsc_ref_yz_median_width">
    <xs:annotation>
      <xs:documentation> The rsc_ref_yz_median_width attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the kernel size of a median filter used as part of
        the application of the ratio shift correction procedure in the
        YZ direction while computing the reference cube during the
        preprocessing steps. </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="rsc_ref_yz_smooth_width">
    <xs:annotation>
      <xs:documentation> The rsc_ref_yz_smooth_width attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the kernel size of a boxcar smoothing filter used
        as part of the application of the ratio shift correction
        procedure in the YZ direction while computing the reference cube
        during the preprocessing steps. </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="rsc_res_xy_ply_extnd_width">
    <xs:annotation>
      <xs:documentation> The rsc_res_xy_ply_extnd_width attribute is one
        of the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the number of pixels used to extend the trend of
        the column profiles when computing the polynomial used to model
        low frequency content in the XY direction used as part of the
        application of the ratio shift correction procedure while
        computing the resolve cube during the post processing steps.
        </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="rsc_res_xy_ply_order">
    <xs:annotation>
      <xs:documentation> The rsc_res_xy_ply_order attribute is one of
        the control parameters for the CRISM hyperspectral data
        filtering application used to convert TRR3 radiance data to I/F
        and indicates the order of the polynomial used to model low
        frequency content in the XY direction used as part of the
        application of the ratio shift correction procedure while
        computing the resolve cube during the post processing steps.
        </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="sampling_mode_id">
    <xs:annotation>
      <xs:documentation> The sampling_mode_id attribute identifies the
        resolution mode of a wavelength or frequency channel.
        </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="scaling_factor">
    <xs:annotation>
      <xs:documentation>The scaling_factor attribute is the scaling
        factor to be applied to each stored value in order to recover an
        original value. The observed value (Ov) is calculated from the
        stored value (Sv) thus: Ov = (Sv * scaling_factor) +
        value_offset. </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="scan_exposure_duration_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="74"/>
     <xs:maxInclusive value="1048650"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="scan_exposure_duration">
    <xs:annotation>
      <xs:documentation> The scan_exposure_duration attribute provides
        the unbinned line readout rate of the HiRISE instrument in
        microseconds. This corresponds to the time between successive
        steps in the Time Delay Integration (TDI) process. The
        adjustment of this parameter is used to match image line
        acquisition to the boresight ground velocity. The value is the
        same for all CCDs for a given observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:scan_exposure_duration_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="scan_mode_id">
    <xs:annotation>
      <xs:documentation>The scan_mode_id attribute identifies one of
        several internal rates for data acquisition by an instrument.
        </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="sec_mirror_baffle_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="sec_mirror_baffle_temperature">
    <xs:annotation>
      <xs:documentation> The sec_mirror_baffle_temperature attribute
        provides the temperature of the HiRISE instrument's secondary
        mirror baffle near the base (external) in degrees Centigrade.
        See Figure 2.3, MRO HiRISE EDR SIS, REFKEYID JPLD-32004.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:sec_mirror_baffle_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="sec_mirror_mtr_rng_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="sec_mirror_mtr_rng_temperature">
    <xs:annotation>
      <xs:documentation> The sec_mirror_mtr_rng_temperature attribute
        provides the temperature of the HiRISE instrument's secondary
        mirror metering ring in degrees Centigrade. See Figure 2.3, MRO
        HiRISE EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:sec_mirror_mtr_rng_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="sec_mirror_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="sec_mirror_temperature">
    <xs:annotation>
      <xs:documentation> The sec_mirror_temperature attribute provides
        the temperature of the HiRISE instrument's secondary mirror in
        degrees Centigrade. See Figure 2.3, MRO HiRISE EDR SIS, REFKEYID
        JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:sec_mirror_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="sensor_id">
    <xs:annotation>
      <xs:documentation> The sensor_id attribute identifies the CRISM
        focal plane from which data in an EDR or RDR were returned; S =
        short-wavelength or VNIR, L = long-wavelength or IR, J = joint
        where a data product is applicable to either. </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_count_partition">
    <xs:annotation>
      <xs:documentation> The spacecraft_clock_count_partition attribute
        indicates the clock partition active for the
        spacecraft_clock_start_count and spacecraft_clock_stop_count
        attributes. </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="spacecraft_clock_start_count">
    <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]{1,2}/)?[0-9]{1,10}(:[0-9]{1,6})?'/>
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="spacecraft_clock_stop_count">
    <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]{1,2}/)?[0-9]{1,10}(:[0-9]{1,6})?'/>
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="special_processing_flag_bg12">
    <xs:annotation>
      <xs:documentation> The special_processing_flag elements indicate
        if special calibration processing was applied to a HiRISE CCD
        image. The HiRISE instrument may experience instability problems
        or a low-signal image may have been poorly calibrated requiring
        an alternate calibration strategy. There is a special processing
        flag for each CCD used in 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="special_processing_flag_bg13">
    <xs:annotation>
      <xs:documentation> The special_processing_flag elements indicate
        if special calibration processing was applied to a HiRISE CCD
        image. The HiRISE instrument may experience instability problems
        or a low-signal image may have been poorly calibrated requiring
        an alternate calibration strategy. There is a special processing
        flag for each CCD used in 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="special_processing_flag_ir10">
    <xs:annotation>
      <xs:documentation> The special_processing_flag elements indicate
        if special calibration processing was applied to a HiRISE CCD
        image. The HiRISE instrument may experience instability problems
        or a low-signal image may have been poorly calibrated requiring
        an alternate calibration strategy. There is a special processing
        flag for each CCD used in 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="special_processing_flag_ir11">
    <xs:annotation>
      <xs:documentation> The special_processing_flag elements indicate
        if special calibration processing was applied to a HiRISE CCD
        image. The HiRISE instrument may experience instability problems
        or a low-signal image may have been poorly calibrated requiring
        an alternate calibration strategy. There is a special processing
        flag for each CCD used in 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="special_processing_flag_red0">
    <xs:annotation>
      <xs:documentation> The special_processing_flag elements indicate
        if special calibration processing was applied to a HiRISE CCD
        image. The HiRISE instrument may experience instability problems
        or a low-signal image may have been poorly calibrated requiring
        an alternate calibration strategy. There is a special processing
        flag for each CCD used in 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="special_processing_flag_red1">
    <xs:annotation>
      <xs:documentation> The special_processing_flag elements indicate
        if special calibration processing was applied to a HiRISE CCD
        image. The HiRISE instrument may experience instability problems
        or a low-signal image may have been poorly calibrated requiring
        an alternate calibration strategy. There is a special processing
        flag for each CCD used in 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="special_processing_flag_red2">
    <xs:annotation>
      <xs:documentation> The special_processing_flag elements indicate
        if special calibration processing was applied to a HiRISE CCD
        image. The HiRISE instrument may experience instability problems
        or a low-signal image may have been poorly calibrated requiring
        an alternate calibration strategy. There is a special processing
        flag for each CCD used in 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="special_processing_flag_red3">
    <xs:annotation>
      <xs:documentation> The special_processing_flag elements indicate
        if special calibration processing was applied to a HiRISE CCD
        image. The HiRISE instrument may experience instability problems
        or a low-signal image may have been poorly calibrated requiring
        an alternate calibration strategy. There is a special processing
        flag for each CCD used in 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="special_processing_flag_red4">
    <xs:annotation>
      <xs:documentation> The special_processing_flag elements indicate
        if special calibration processing was applied to a HiRISE CCD
        image. The HiRISE instrument may experience instability problems
        or a low-signal image may have been poorly calibrated requiring
        an alternate calibration strategy. There is a special processing
        flag for each CCD used in 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="special_processing_flag_red5">
    <xs:annotation>
      <xs:documentation> The special_processing_flag elements indicate
        if special calibration processing was applied to a HiRISE CCD
        image. The HiRISE instrument may experience instability problems
        or a low-signal image may have been poorly calibrated requiring
        an alternate calibration strategy. There is a special processing
        flag for each CCD used in 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="special_processing_flag_red6">
    <xs:annotation>
      <xs:documentation> The special_processing_flag elements indicate
        if special calibration processing was applied to a HiRISE CCD
        image. The HiRISE instrument may experience instability problems
        or a low-signal image may have been poorly calibrated requiring
        an alternate calibration strategy. There is a special processing
        flag for each CCD used in 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="special_processing_flag_red7">
    <xs:annotation>
      <xs:documentation> The special_processing_flag elements indicate
        if special calibration processing was applied to a HiRISE CCD
        image. The HiRISE instrument may experience instability problems
        or a low-signal image may have been poorly calibrated requiring
        an alternate calibration strategy. There is a special processing
        flag for each CCD used in 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="special_processing_flag_red8">
    <xs:annotation>
      <xs:documentation> The special_processing_flag elements indicate
        if special calibration processing was applied to a HiRISE CCD
        image. The HiRISE instrument may experience instability problems
        or a low-signal image may have been poorly calibrated requiring
        an alternate calibration strategy. There is a special processing
        flag for each CCD used in 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="special_processing_flag_red9">
    <xs:annotation>
      <xs:documentation> The special_processing_flag elements indicate
        if special calibration processing was applied to a HiRISE CCD
        image. The HiRISE instrument may experience instability problems
        or a low-signal image may have been poorly calibrated requiring
        an alternate calibration strategy. There is a special processing
        flag for each CCD used in 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="spectrometer_housing_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="spectrometer_housing_temperature">
    <xs:annotation>
      <xs:documentation> The spectrometer_housing_temperature attribute
        gives the temperature of the CRISM spectrometer housing. This is
        a backup to direct determination, using measurements with the
        shutter closed, of the thermal background measured by the IR
        detector. The primary source of this temperature is a
        measurement digitized by the VNIR focal plane electronics,
        column 58 in the EDR list file. The backup source of this
        temperature is a measurement digitized by the IR focal plane
        electronics, column 69 in the EDR list file. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:spectrometer_housing_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="sphere_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="sphere_temperature">
    <xs:annotation>
      <xs:documentation> The sphere_temperature attribute gives the
        temperature of the CRISM onboard integrating sphere. It is used
        for modeling the output radiance of the sphere as a function of
        sphere temperature. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:sphere_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="spider_leg_150_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="spider_leg_150_temperature">
    <xs:annotation>
      <xs:documentation> The spider_leg_150_temperature attribute
        provides the temperature of the HiRISE instrument's spider leg
        at the 150 degree location in degrees Centigrade. See Figure
        2.3, MRO HiRISE EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:spider_leg_150_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="spider_leg_270_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="spider_leg_270_temperature">
    <xs:annotation>
      <xs:documentation> The spider_leg_270_temperature attribute
        provides the temperature of the HiRISE instrument's spider leg
        at the 270 degree location in degrees Centigrade. See Figure
        2.3, MRO HiRISE EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:spider_leg_270_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="spider_leg_30_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="spider_leg_30_temperature">
    <xs:annotation>
      <xs:documentation> The spider_leg_30_temperature attribute
        provides the temperature of the HiRISE instrument's spider leg
        at the 30 degree location in degrees Centigrade. See Figure 2.3,
        MRO HiRISE EDR SIS, REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:spider_leg_30_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="stimulation_lamp_flag_blg">
    <xs:annotation>
      <xs:documentation> The stimulation_lamp_flag attribute is a set of
        three flags that identify which of the three HiRISE stimulation
        lamps have been turned on or off. Stimulation lamps are used to
        evaluate relative changes in instrument calibration throughout
        the mission. Stimulation lamps are always turned off for science
        observation data. </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="stimulation_lamp_flag_nir">
    <xs:annotation>
      <xs:documentation> The stimulation_lamp_flag attribute is a set of
        three flags that identify which of the three HiRISE stimulation
        lamps have been turned on or off. Stimulation lamps are used to
        evaluate relative changes in instrument calibration throughout
        the mission. Stimulation lamps are always turned off for science
        observation data. </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="stimulation_lamp_flag_red">
    <xs:annotation>
      <xs:documentation> The stimulation_lamp_flag attribute is a set of
        three flags that identify which of the three HiRISE stimulation
        lamps have been turned on or off. Stimulation lamps are used to
        evaluate relative changes in instrument calibration throughout
        the mission. Stimulation lamps are always turned off for science
        observation data. </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="sun_shade_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="sun_shade_temperature">
    <xs:annotation>
      <xs:documentation> The sun_shade_temperature attribute provides
        the temperature of the HiRISE instrument's sun shade under the
        MLI in degrees Centigrade. See Figure 2.3, MRO HiRISE EDR SIS,
        REFKEYID JPLD-32004. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:sun_shade_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="synthetic_aperture_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="synthetic_aperture_duration">
    <xs:annotation>
      <xs:documentation>The coherent integration time for SHARAD signals
        processed using the synthetic aperture technique. Multiplication
        of this value by the MRO tangential velocity tabulated in the
        SHARAD radargram *GEOM.TAB files yields an approximate physical
        length of the aperture. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="mro:synthetic_aperture_duration_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="tdi">
    <xs:annotation>
      <xs:documentation> The tdi attribute provides the number of time
        delay and integration (TDI) stages used to increase the exposure
        time of a HiRISE observation. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="tdi_bg12">
    <xs:annotation>
      <xs:documentation> The tdi attribute provides the number of time
        delay and integration (TDI) stages used to increase the exposure
        time of a HiRISE observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="tdi_bg13">
    <xs:annotation>
      <xs:documentation> The tdi attribute provides the number of time
        delay and integration (TDI) stages used to increase the exposure
        time of a HiRISE observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="tdi_ir10">
    <xs:annotation>
      <xs:documentation> The tdi attribute provides the number of time
        delay and integration (TDI) stages used to increase the exposure
        time of a HiRISE observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="tdi_ir11">
    <xs:annotation>
      <xs:documentation> The tdi attribute provides the number of time
        delay and integration (TDI) stages used to increase the exposure
        time of a HiRISE observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="tdi_red0">
    <xs:annotation>
      <xs:documentation> The tdi attribute provides the number of time
        delay and integration (TDI) stages used to increase the exposure
        time of a HiRISE observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="tdi_red1">
    <xs:annotation>
      <xs:documentation> The tdi attribute provides the number of time
        delay and integration (TDI) stages used to increase the exposure
        time of a HiRISE observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="tdi_red2">
    <xs:annotation>
      <xs:documentation> The tdi attribute provides the number of time
        delay and integration (TDI) stages used to increase the exposure
        time of a HiRISE observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="tdi_red3">
    <xs:annotation>
      <xs:documentation> The tdi attribute provides the number of time
        delay and integration (TDI) stages used to increase the exposure
        time of a HiRISE observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="tdi_red4">
    <xs:annotation>
      <xs:documentation> The tdi attribute provides the number of time
        delay and integration (TDI) stages used to increase the exposure
        time of a HiRISE observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="tdi_red5">
    <xs:annotation>
      <xs:documentation> The tdi attribute provides the number of time
        delay and integration (TDI) stages used to increase the exposure
        time of a HiRISE observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="tdi_red6">
    <xs:annotation>
      <xs:documentation> The tdi attribute provides the number of time
        delay and integration (TDI) stages used to increase the exposure
        time of a HiRISE observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="tdi_red7">
    <xs:annotation>
      <xs:documentation> The tdi attribute provides the number of time
        delay and integration (TDI) stages used to increase the exposure
        time of a HiRISE observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="tdi_red8">
    <xs:annotation>
      <xs:documentation> The tdi attribute provides the number of time
        delay and integration (TDI) stages used to increase the exposure
        time of a HiRISE observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="tdi_red9">
    <xs:annotation>
      <xs:documentation> The tdi attribute provides the number of time
        delay and integration (TDI) stages used to increase the exposure
        time of a HiRISE observation. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="trace_max_value">
    <xs:annotation>
      <xs:documentation>The trace_max_value attribute is one of the
        control parameters for the CRISM hyperspectral data filtering
        application used to convert TRR3 radiance data to I/F and
        indicates the maximum valid value of a ratio computed for the
        Ratio Shift Correction algorithm. Values outside of the valid
        range of ratio values are ignored during this processing steps.
        </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="trace_min_value">
    <xs:annotation>
      <xs:documentation>The trace_min_value attribute is one of the
        control parameters for the CRISM hyperspectral data filtering
        application used to convert TRR3 radiance data to I/F and
        indicates the minimum valid value of a ratio computed for the
        Ratio Shift Correction algorithm. Values outside of the valid
        range of ratio values are ignored during this processing steps.
        </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="trim_lines">
    <xs:annotation>
      <xs:documentation> The trim_lines attribute provides the number of
        lines that have been trimmed at the beginning of a HiRISE
        observation. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="value_offset">
    <xs:annotation>
      <xs:documentation>The value_offset attribute is the offset to be
        applied to each stored value in order to recover an original
        value. The observed value (Ov) is calculated from the stored
        value (Sv) thus: Ov = (Sv * scaling_factor) + value_offset.
        </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="wavelength_file_name">
    <xs:annotation>
      <xs:documentation>The wavelenth_file_name attribute identifies the
        name of the file that describes wavelength sampling in a CRISM
        EDR, RDR, or CDR. There are two aspects to the wavelength
        sampling. One is the wavelength of light falling on each
        attribute of the 480-row detector. The second is the selection
        of which rows are included in downlink. For each detector there
        is a menu of four options; which option is selected is given in
        wavelength_filter, which has a value of 0, 1, 2, or 3. For an
        EDR, the wavelength file is a 5-column, 480-row text file. The
        five attributes in each row are the row number and a 0 or 1 for
        wavelength_filter 0, 1, 2 and 3, indicating if the row is
        included in the EDR when that option is selected in
        wavelength_filter. For an RDR or CDR, the wavelength file is an
        image whose value at the location of a detector attribute is the
        center wavelength of that attribute, in nanometers.
        </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="wavelength_filter">
    <xs:annotation>
      <xs:documentation>The wavelength_filter attribute identifies which
        of four CRISM onboard menus of rows was selected for downlink.
        The four choices are 0, 1, 2, or 3. Each filter is a vector of
        480 0's or 1's, one per row of the detector. 0 indicates that
        data are not saved; 1 indicates that data are saved. The values
        in the four vectors are in the file named by
        wavelength_file_name. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>
</xs:schema>
