<?xml version="1.0" encoding="UTF-8"?>
  <!-- PDS4 XML/Schema for Name Space Id:cassini  Version:1.8.0.0 - Fri May 23 16:58:50 UTC 2025 -->
  <!-- Generated from the PDS4 Information Model Version 1.24.0.0 - System Build 15.1 -->
  <!-- *** This PDS4 product schema is an operational deliverable. *** -->
  <!--                                                                           -->
  <!--               Dictionary Stack                                            -->
  <!-- 1.24.0.0 - pds: - Common Dictionary                                       -->
  <!-- 1.9.10.0 - geom: - Geometry Dictionary Full                               -->
  <!-- 1.9.7.0 - cart: - Cartography                                             -->
  <!-- 1.8.0.0 - cassini: - Cassini Mission                                      -->
  <!--                                                                           -->
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://pds.nasa.gov/pds4/mission/cassini/v1"
    xmlns:cassini="http://pds.nasa.gov/pds4/mission/cassini/v1"
    xmlns:pds="http://pds.nasa.gov/pds4/pds/v1"
    xmlns:geom="http://pds.nasa.gov/pds4/geom/v1"
    xmlns:cart="http://pds.nasa.gov/pds4/cart/v1"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    version="1.8.0.0">
 
    <xs:import namespace="http://pds.nasa.gov/pds4/pds/v1" schemaLocation="https://pds.nasa.gov/pds4/pds/v1/PDS4_PDS_1O00.xsd"/>
    <xs:import namespace="http://pds.nasa.gov/pds4/geom/v1" schemaLocation="https://pds.nasa.gov/pds4/geom/v1/PDS4_GEOM_1O00_19A0.xsd"/>
    <xs:import namespace="http://pds.nasa.gov/pds4/cart/v1" schemaLocation="https://pds.nasa.gov/pds4/cart/v1/PDS4_CART_1O00_1970.xsd"/>
 
  <xs:annotation>
    <xs:documentation>
_TBD_Ingest_LDD
    </xs:documentation>
  </xs:annotation>
 
  <xs:element name="Cassini" type="cassini:Cassini"> </xs:element>

  <xs:complexType name="CIRS_Cubes_Specific_Attributes">
    <xs:annotation>
      <xs:documentation>The CIRS Cubes Specific Attributes class
        provides local attributes used by CIRS higher order
        products.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="mean_body_angular_semidiameter" type="cassini:mean_body_angular_semidiameter" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean_body_phase_angle" type="cassini:mean_body_phase_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean_boresight_latitude_zpd" type="cassini:mean_boresight_latitude_zpd" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean_boresight_local_time" type="cassini:mean_boresight_local_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean_boresight_longitude_zpd" type="cassini:mean_boresight_longitude_zpd" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean_boresight_right_ascension" type="cassini:mean_boresight_right_ascension" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean_boresight_solar_phase" type="cassini:mean_boresight_solar_phase" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean_boresight_solar_zenith" type="cassini:mean_boresight_solar_zenith" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean_emission_angle_fov" type="cassini:mean_emission_angle_fov" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean_ring_boresight_emission_angle" type="cassini:mean_ring_boresight_emission_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean_ring_boresight_local_time" type="cassini:mean_ring_boresight_local_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean_ring_boresight_longitude_zpd" type="cassini:mean_ring_boresight_longitude_zpd" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean_ring_boresight_radius_zpd" type="cassini:mean_ring_boresight_radius_zpd" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean_ring_boresight_solar_phase" type="cassini:mean_ring_boresight_solar_phase" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean_ring_boresight_solar_zenith" type="cassini:mean_ring_boresight_solar_zenith" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean_ring_boresight_spacecraft_range" type="cassini:mean_ring_boresight_spacecraft_range" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="equirectangular_min_footprint_width" type="cassini:equirectangular_min_footprint_width" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="equirectangular_max_footprint_width" type="cassini:equirectangular_max_footprint_width" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="equirectangular_min_footprint_height" type="cassini:equirectangular_min_footprint_height" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="equirectangular_max_footprint_height" type="cassini:equirectangular_max_footprint_height" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pointperspective_min_footprint_width" type="cassini:pointperspective_min_footprint_width" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pointperspective_max_footprint_width" type="cassini:pointperspective_max_footprint_width" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pointperspective_min_footprint_height" type="cassini:pointperspective_min_footprint_height" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pointperspective_max_footprint_height" type="cassini:pointperspective_max_footprint_height" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ringpolar_min_footprint_width" type="cassini:ringpolar_min_footprint_width" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ringpolar_max_footprint_width" type="cassini:ringpolar_max_footprint_width" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ringpolar_min_footprint_height" type="cassini:ringpolar_min_footprint_height" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ringpolar_max_footprint_height" type="cassini:ringpolar_max_footprint_height" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CIRS_Specific_Attributes">
    <xs:annotation>
      <xs:documentation>The CIRS Specific Attributes class provides
        local attributes used by CIRS observations and derived
        products.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="mission_phase_name" type="cassini:mission_phase_name" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="spacecraft_clock_count_partition" type="cassini:spacecraft_clock_count_partition" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_clock_start_count" type="cassini:spacecraft_clock_start_count" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_clock_stop_count" type="cassini:spacecraft_clock_stop_count" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="line_name" type="cassini:line_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sample_name" type="cassini:sample_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="first_line_center" type="cassini:first_line_center" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="first_sample_center" type="cassini:first_sample_center" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="last_line_center" type="cassini:last_line_center" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="last_sample_center" type="cassini:last_sample_center" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="line_center" type="cassini:line_center" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sample_center" type="cassini:sample_center" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="total_spectral_power" type="cassini:total_spectral_power" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="focal_plane" type="cassini:focal_plane" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="cassini:mission_phase_name = ('APPROACH SCIENCE', 'APPROACH_SCIENCE', 'Approach Science', 'CRUISE', 'CRUISE SCIENCE', 'EARTH ENCOUNTER', 'EARTH-JUPITER CRUISE', 'EQUINOX MISSION', 'EXTENDED MISSION', 'EXTENDED-EXTENDED MISSION', 'Earth Encounter', 'Equinox Mission', 'Extended Mission', 'Extended-Extended Mission', 'HIGH GAIN ANTENNA TRANSITION', 'HUYGENS DESCENT', 'HUYGENS PROBE SEPARATION', 'High Gain Antenna Transition', 'Huygens Descent', 'Huygens Probe Separation', 'INSTRUMENT CHECKOUT 1', 'INSTRUMENT CHECKOUT 2', 'INTERPLANETARY CRUISE', 'Information not provided', 'Instrument Checkout 1', 'Instrument Checkout 2', 'Interplanetary Cruise', 'JUPITER CRUISE', 'JUPITER ENCOUNTER', 'Jupiter Cruise', 'Jupiter Encounter', 'LAUNCH', 'Launch', 'OUTER CRUISE', 'Outer Cruise', 'PHOEBE ENCOUNTER', 'PROXIMAL ORBITS', 'Phoebe Encounter', 'Proximal Orbits', 'QUIET CRUISE', 'Quiet Cruise', 'SATURN ORBIT INSERTION', 'SCIENCE CRUISE', 'SCIENCE_CRUISE', 'SOLSTICE MISSION', 'SPACE SCIENCE', 'SPACE_SCIENCE', 'Saturn Orbit Insertion', 'Science Cruise', 'Solstice Mission', 'Space Science', 'TCM 1', 'TITAN A ENCOUNTER', 'TITAN B ENCOUNTER', 'TITAN C HUYGENS', 'TOUR', 'TOUR PRE-HUYGENS', 'Titan A Encounter', 'Titan B Encounter', 'Titan C Huygens', 'Tour', 'Tour Pre-Huygens', 'VENUS 1 CRUISE', 'VENUS 1 ENCOUNTER', 'VENUS 2 - EARTH CRUISE', 'VENUS 2 ENCOUNTER', 'Venus 1 Cruise', 'Venus 1 Encounter', 'Venus 2 - Earth Cruise', 'Venus 2 Encounter', 'XM', 'XXM')"/> -->
    <!-- <xs:assert test="cassini:focal_plane = ('1', '3', '4')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="Cassini">
    <xs:annotation>
      <xs:documentation>This is the umbrella class for the Cassini
        mission dictionary.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="CIRS_Specific_Attributes" type="cassini:CIRS_Specific_Attributes" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="CIRS_Cubes_Specific_Attributes" type="cassini:CIRS_Cubes_Specific_Attributes" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="UVIS_Specific_Attributes" type="cassini:UVIS_Specific_Attributes" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ISS_Specific_Attributes" type="cassini:ISS_Specific_Attributes" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ISS_Calibrated_Attributes" type="cassini:ISS_Calibrated_Attributes" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="VIMS_Specific_Attributes" type="cassini:VIMS_Specific_Attributes" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="PPI_Specific_Attributes" type="cassini:PPI_Specific_Attributes" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Detector_Window">
    <xs:annotation>
      <xs:documentation>The UVIS Detector Window class provides
        attributes to describe or more sub regions of the detector
        called windows. Windows are associated with some EUV and FUV
        observations. The detector is divided into a set of active
        rectangular sub regions (windows). Each window can also be
        binned. The data stored in the PDS Aray are located in the upper
        left hand corner of the window. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ul_corner_line" type="cassini:ul_corner_line" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ul_corner_band" type="cassini:ul_corner_band" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="lr_corner_line" type="cassini:lr_corner_line" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="lr_corner_band" type="cassini:lr_corner_band" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="band_bin" type="cassini:band_bin" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="line_bin" type="cassini:line_bin" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ISS_Calibrated_Attributes">
    <xs:annotation>
      <xs:documentation>The ISS Calibrated Attributes class provides
        local attributes unique to calibrated Cassini ISS data
        products.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="dark_current_correction_type" type="cassini:dark_current_correction_type" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="dark_current_file_name" type="cassini:dark_current_file_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="dark_current_parameter_file" type="cassini:dark_current_parameter_file" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="nonlinearity_correction_flag" type="cassini:nonlinearity_correction_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="flat_field_correction_flag" type="cassini:flat_field_correction_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="slope_file_name" type="cassini:slope_file_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="gain_correction" type="cassini:gain_correction" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="geometry_projection_type" type="cassini:geometry_projection_type" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="exposure_correction_flag" type="cassini:exposure_correction_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="shutter_offset_file_name" type="cassini:shutter_offset_file_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="exposure_offset" type="cassini:exposure_offset" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="radiometric_correction_text" type="cassini:radiometric_correction_text" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="calibration_units" type="cassini:calibration_units" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="calibration_stage" type="cassini:calibration_stage" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ab_pixel_correction_flag" type="cassini:ab_pixel_correction_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="bias_subtraction_text" type="cassini:bias_subtraction_text" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="data_conversion_text" type="cassini:data_conversion_text" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="flat_field_file_name" type="cassini:flat_field_file_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="uneven_bit_weight_correction_flag" type="cassini:uneven_bit_weight_correction_flag" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="cassini:dark_current_correction_type = ('2-parameter model', 'Interpolation model', 'Subtracted dark file')"/> -->
    <!-- <xs:assert test="cassini:nonlinearity_correction_flag = ('DISABLED', 'ENABLED')"/> -->
    <!-- <xs:assert test="cassini:flat_field_correction_flag = ('DISABLED', 'ENABLED')"/> -->
    <!-- <xs:assert test="cassini:gain_correction = ('11.73 e-/DN', '12.84 e-/DN', '220.65 e-/DN', '223.58 e-/DN', '27.68 e-/DN', '30.27 e-/DN', '95.24 e-/DN', '97.78 e-/DN')"/> -->
    <!-- <xs:assert test="cassini:geometry_projection_type = ('LINEARIZED')"/> -->
    <!-- <xs:assert test="cassini:exposure_correction_flag = ('DISABLED', 'ENABLED')"/> -->
    <!-- <xs:assert test="cassini:exposure_offset = ('2.67 ms', '2.75 ms')"/> -->
    <!-- <xs:assert test="cassini:calibration_units = ('I/F', 'INTENSITY')"/> -->
    <!-- <xs:assert test="cassini:calibration_stage = ('1', '10', '11', '2', '3', '4', '5', '6', '7', '8', '9')"/> -->
    <!-- <xs:assert test="cassini:ab_pixel_correction_flag = ('DISABLED', 'ENABLED')"/> -->
    <!-- <xs:assert test="cassini:bias_subtraction_text = ('Subtracted 2Hz noise (image mean)', 'Subtracted 2Hz noise (overclocked pixels)', 'Subtracted bias (BIAS_STRIP_MEAN)', 'Subtracted bias (overclocked pixels)')"/> -->
    <!-- <xs:assert test="cassini:data_conversion_text = ('Converted from 8 to 12 bits')"/> -->
    <!-- <xs:assert test="cassini:uneven_bit_weight_correction_flag = ('DISABLED', 'ENABLED')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="ISS_Specific_Attributes">
    <xs:annotation>
      <xs:documentation>The ISS Specific Attributes class provides local
        attributes used by ISS observations.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="mission_phase_name" type="cassini:mission_phase_name" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="spacecraft_clock_count_partition" type="cassini:spacecraft_clock_count_partition" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_clock_start_count" type="cassini:spacecraft_clock_start_count" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_clock_stop_count" type="cassini:spacecraft_clock_stop_count" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="limitations" type="cassini:limitations" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="antiblooming_state_flag" type="cassini:antiblooming_state_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="bias_strip_mean" type="cassini:bias_strip_mean" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="calibration_lamp_state_flag" type="cassini:calibration_lamp_state_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="command_file_name" type="cassini:command_file_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="command_sequence_number" type="cassini:command_sequence_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="dark_strip_mean" type="cassini:dark_strip_mean" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="data_conversion_type" type="cassini:data_conversion_type" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="delayed_readout_flag" type="cassini:delayed_readout_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="detector_temperature" type="cassini:detector_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="electronics_bias" type="cassini:electronics_bias" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="earth_received_start_time" type="cassini:earth_received_start_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="earth_received_stop_time" type="cassini:earth_received_stop_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="expected_maximum_full_well" type="cassini:expected_maximum_full_well" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="expected_maximum_DN_sat" type="cassini:expected_maximum_DN_sat" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="expected_packets" type="cassini:expected_packets" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="exposure_duration" type="cassini:exposure_duration" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="filter_name_1" type="cassini:filter_name_1" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="filter_name_2" type="cassini:filter_name_2" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="filter_temperature" type="cassini:filter_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="flight_software_version_id" type="cassini:flight_software_version_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="gain_mode_id" nillable="true" type="cassini:gain_mode_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ground_software_version_id" type="cassini:ground_software_version_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="image_mid_time" type="cassini:image_mid_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="image_number" type="cassini:image_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="image_time" type="cassini:image_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="image_observation_type" type="cassini:image_observation_type" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="instrument_data_rate" type="cassini:instrument_data_rate" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="instrument_mode_id" type="cassini:instrument_mode_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="inst_cmprs_type" type="cassini:inst_cmprs_type" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="inst_cmprs_param_malgo" type="cassini:inst_cmprs_param_malgo" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="inst_cmprs_param_tb" type="cassini:inst_cmprs_param_tb" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="inst_cmprs_param_blocks" type="cassini:inst_cmprs_param_blocks" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="inst_cmprs_param_quant" type="cassini:inst_cmprs_param_quant" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="inst_cmprs_rate_expected_bits" type="cassini:inst_cmprs_rate_expected_bits" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="inst_cmprs_rate_actual_bits" type="cassini:inst_cmprs_rate_actual_bits" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="inst_cmprs_ratio" type="cassini:inst_cmprs_ratio" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="light_flood_state_flag" type="cassini:light_flood_state_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="method_description" type="cassini:method_description" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="missing_lines" type="cassini:missing_lines" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="missing_packet_flag" type="cassini:missing_packet_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="observation_id" type="cassini:observation_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="optics_temperature_front" type="cassini:optics_temperature_front" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="optics_temperature_back" type="cassini:optics_temperature_back" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="order_number" type="cassini:order_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="parallel_clock_voltage_index" type="cassini:parallel_clock_voltage_index" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pds3_product_creation_time" type="cassini:pds3_product_creation_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pds3_product_version_type" type="cassini:pds3_product_version_type" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pds3_target_desc" type="cassini:pds3_target_desc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pds3_target_list" type="cassini:pds3_target_list" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pds3_target_name" type="cassini:pds3_target_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pre-pds_version_number" type="cassini:pre-pds_version_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="prepare_cycle_index" type="cassini:prepare_cycle_index" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="readout_cycle_index" type="cassini:readout_cycle_index" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="received_packets" type="cassini:received_packets" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sensor_head_electronics_temperature" type="cassini:sensor_head_electronics_temperature" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sequence_id" type="cassini:sequence_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sequence_number" type="cassini:sequence_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sequence_title" type="cassini:sequence_title" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="shutter_mode_id" type="cassini:shutter_mode_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="shutter_state_id" type="cassini:shutter_state_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="start_time_doy" type="cassini:start_time_doy" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="stop_time_doy" type="cassini:stop_time_doy" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="telemetry_format_id" type="cassini:telemetry_format_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="valid_maximum_full_well" type="cassini:valid_maximum_full_well" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="valid_maximum_DN_sat" type="cassini:valid_maximum_DN_sat" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="cassini:mission_phase_name = ('APPROACH SCIENCE', 'APPROACH_SCIENCE', 'Approach Science', 'CRUISE', 'CRUISE SCIENCE', 'EARTH ENCOUNTER', 'EARTH-JUPITER CRUISE', 'EQUINOX MISSION', 'EXTENDED MISSION', 'EXTENDED-EXTENDED MISSION', 'Earth Encounter', 'Equinox Mission', 'Extended Mission', 'Extended-Extended Mission', 'HIGH GAIN ANTENNA TRANSITION', 'HUYGENS DESCENT', 'HUYGENS PROBE SEPARATION', 'High Gain Antenna Transition', 'Huygens Descent', 'Huygens Probe Separation', 'INSTRUMENT CHECKOUT 1', 'INSTRUMENT CHECKOUT 2', 'INTERPLANETARY CRUISE', 'Information not provided', 'Instrument Checkout 1', 'Instrument Checkout 2', 'Interplanetary Cruise', 'JUPITER CRUISE', 'JUPITER ENCOUNTER', 'Jupiter Cruise', 'Jupiter Encounter', 'LAUNCH', 'Launch', 'OUTER CRUISE', 'Outer Cruise', 'PHOEBE ENCOUNTER', 'PROXIMAL ORBITS', 'Phoebe Encounter', 'Proximal Orbits', 'QUIET CRUISE', 'Quiet Cruise', 'SATURN ORBIT INSERTION', 'SCIENCE CRUISE', 'SCIENCE_CRUISE', 'SOLSTICE MISSION', 'SPACE SCIENCE', 'SPACE_SCIENCE', 'Saturn Orbit Insertion', 'Science Cruise', 'Solstice Mission', 'Space Science', 'TCM 1', 'TITAN A ENCOUNTER', 'TITAN B ENCOUNTER', 'TITAN C HUYGENS', 'TOUR', 'TOUR PRE-HUYGENS', 'Titan A Encounter', 'Titan B Encounter', 'Titan C Huygens', 'Tour', 'Tour Pre-Huygens', 'VENUS 1 CRUISE', 'VENUS 1 ENCOUNTER', 'VENUS 2 - EARTH CRUISE', 'VENUS 2 ENCOUNTER', 'Venus 1 Cruise', 'Venus 1 Encounter', 'Venus 2 - Earth Cruise', 'Venus 2 Encounter', 'XM', 'XXM')"/> -->
    <!-- <xs:assert test="cassini:delayed_readout_flag = ('NO', 'YES')"/> -->
    <!-- <xs:assert test="cassini:gain_mode_id = ('12', '215', '29', '95')"/> -->
    <!-- <xs:assert test="cassini:inst_cmprs_type = ('LOSSLESS', 'LOSSY', 'NOTCOMP')"/> -->
    <!-- <xs:assert test="cassini:light_flood_state_flag = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="cassini:missing_packet_flag = ('Information not provided', 'NO', 'YES')"/> -->
    <!-- <xs:assert test="cassini:shutter_mode_id = ('BOTSIM', 'NACONLY', 'UNK', 'WACONLY')"/> -->
    <!-- <xs:assert test="cassini:shutter_state_id = ('DISABLED', 'ENABLED')"/> -->
    <!-- <xs:assert test="cassini:valid_maximum_DN_sat = ('-1', '255', '4095')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="Legacy_Metadata">
    <xs:annotation>
      <xs:documentation>The Legacy_Metadata class allows for the
        preservation of original PDS3 values that may have been
        corrected or changed during the migration process to
        PDS4.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="legacy_start_date_time" type="cassini:legacy_start_date_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="legacy_stop_date_time" type="cassini:legacy_stop_date_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="legacy_start_time_doy" type="cassini:legacy_start_time_doy" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="legacy_stop_time_doy" type="cassini:legacy_stop_time_doy" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="legacy_image_mid_time" type="cassini:legacy_image_mid_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="legacy_image_time" type="cassini:legacy_image_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pds3_target_desc" type="cassini:pds3_target_desc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pds3_target_list" type="cassini:pds3_target_list" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pds3_target_name" type="cassini:pds3_target_name" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PPI_Specific_Attributes">
    <xs:annotation>
      <xs:documentation>The PPI Specific Attributes class provides local
        attributes used by fields and particles
        instruments.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="mission_phase_name" type="cassini:mission_phase_name" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="spacecraft_clock_count_partition" type="cassini:spacecraft_clock_count_partition" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_clock_start_count" type="cassini:spacecraft_clock_start_count" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_clock_stop_count" type="cassini:spacecraft_clock_stop_count" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="orbit_number" type="cassini:orbit_number" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="cassini:mission_phase_name = ('APPROACH SCIENCE', 'APPROACH_SCIENCE', 'Approach Science', 'CRUISE', 'CRUISE SCIENCE', 'EARTH ENCOUNTER', 'EARTH-JUPITER CRUISE', 'EQUINOX MISSION', 'EXTENDED MISSION', 'EXTENDED-EXTENDED MISSION', 'Earth Encounter', 'Equinox Mission', 'Extended Mission', 'Extended-Extended Mission', 'HIGH GAIN ANTENNA TRANSITION', 'HUYGENS DESCENT', 'HUYGENS PROBE SEPARATION', 'High Gain Antenna Transition', 'Huygens Descent', 'Huygens Probe Separation', 'INSTRUMENT CHECKOUT 1', 'INSTRUMENT CHECKOUT 2', 'INTERPLANETARY CRUISE', 'Information not provided', 'Instrument Checkout 1', 'Instrument Checkout 2', 'Interplanetary Cruise', 'JUPITER CRUISE', 'JUPITER ENCOUNTER', 'Jupiter Cruise', 'Jupiter Encounter', 'LAUNCH', 'Launch', 'OUTER CRUISE', 'Outer Cruise', 'PHOEBE ENCOUNTER', 'PROXIMAL ORBITS', 'Phoebe Encounter', 'Proximal Orbits', 'QUIET CRUISE', 'Quiet Cruise', 'SATURN ORBIT INSERTION', 'SCIENCE CRUISE', 'SCIENCE_CRUISE', 'SOLSTICE MISSION', 'SPACE SCIENCE', 'SPACE_SCIENCE', 'Saturn Orbit Insertion', 'Science Cruise', 'Solstice Mission', 'Space Science', 'TCM 1', 'TITAN A ENCOUNTER', 'TITAN B ENCOUNTER', 'TITAN C HUYGENS', 'TOUR', 'TOUR PRE-HUYGENS', 'Titan A Encounter', 'Titan B Encounter', 'Titan C Huygens', 'Tour', 'Tour Pre-Huygens', 'VENUS 1 CRUISE', 'VENUS 1 ENCOUNTER', 'VENUS 2 - EARTH CRUISE', 'VENUS 2 ENCOUNTER', 'Venus 1 Cruise', 'Venus 1 Encounter', 'Venus 2 - Earth Cruise', 'Venus 2 Encounter', 'XM', 'XXM')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="UVIS_Specific_Attributes">
    <xs:annotation>
      <xs:documentation>The UVIS Specific Attributes class provides
        local attributes used by UVIS observations.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="mission_phase_name" type="cassini:mission_phase_name" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="spacecraft_clock_count_partition" type="cassini:spacecraft_clock_count_partition" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_clock_start_count" type="cassini:spacecraft_clock_start_count" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_clock_stop_count" type="cassini:spacecraft_clock_stop_count" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="compression_type" type="cassini:compression_type" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="high_voltage_power_supply_state" type="cassini:high_voltage_power_supply_state" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="integration_duration" type="cassini:integration_duration" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="observation_id" type="cassini:observation_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="occultation_port_state" type="cassini:occultation_port_state" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="odc_id" type="cassini:odc_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="reference_time_utc" type="cassini:reference_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="slit_state" type="cassini:slit_state" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="start_time_doy" type="cassini:start_time_doy" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="stop_time_doy" type="cassini:stop_time_doy" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="test_pulse_state" type="cassini:test_pulse_state" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_dwell_time" type="cassini:hdac_dwell_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_d_level_01" type="cassini:hdac_d_level_01" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_d_level_02" type="cassini:hdac_d_level_02" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_d_level_03" type="cassini:hdac_d_level_03" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_d_level_04" type="cassini:hdac_d_level_04" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_d_level_05" type="cassini:hdac_d_level_05" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_d_level_06" type="cassini:hdac_d_level_06" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_d_level_07" type="cassini:hdac_d_level_07" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_d_level_08" type="cassini:hdac_d_level_08" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_d_level_09" type="cassini:hdac_d_level_09" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_d_level_10" type="cassini:hdac_d_level_10" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_d_level_11" type="cassini:hdac_d_level_11" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_d_level_12" type="cassini:hdac_d_level_12" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_d_level_13" type="cassini:hdac_d_level_13" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_d_level_14" type="cassini:hdac_d_level_14" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_d_level_15" type="cassini:hdac_d_level_15" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_d_level_16" type="cassini:hdac_d_level_16" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_h_level_01" type="cassini:hdac_h_level_01" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_h_level_02" type="cassini:hdac_h_level_02" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_h_level_03" type="cassini:hdac_h_level_03" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_h_level_04" type="cassini:hdac_h_level_04" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_h_level_05" type="cassini:hdac_h_level_05" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_h_level_06" type="cassini:hdac_h_level_06" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_h_level_07" type="cassini:hdac_h_level_07" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_h_level_08" type="cassini:hdac_h_level_08" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_h_level_09" type="cassini:hdac_h_level_09" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_h_level_10" type="cassini:hdac_h_level_10" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_h_level_11" type="cassini:hdac_h_level_11" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_h_level_12" type="cassini:hdac_h_level_12" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_h_level_13" type="cassini:hdac_h_level_13" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_h_level_14" type="cassini:hdac_h_level_14" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_h_level_15" type="cassini:hdac_h_level_15" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="hdac_h_level_16" type="cassini:hdac_h_level_16" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Detector_Window" type="cassini:Detector_Window" minOccurs="0" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="cassini:mission_phase_name = ('APPROACH SCIENCE', 'APPROACH_SCIENCE', 'Approach Science', 'CRUISE', 'CRUISE SCIENCE', 'EARTH ENCOUNTER', 'EARTH-JUPITER CRUISE', 'EQUINOX MISSION', 'EXTENDED MISSION', 'EXTENDED-EXTENDED MISSION', 'Earth Encounter', 'Equinox Mission', 'Extended Mission', 'Extended-Extended Mission', 'HIGH GAIN ANTENNA TRANSITION', 'HUYGENS DESCENT', 'HUYGENS PROBE SEPARATION', 'High Gain Antenna Transition', 'Huygens Descent', 'Huygens Probe Separation', 'INSTRUMENT CHECKOUT 1', 'INSTRUMENT CHECKOUT 2', 'INTERPLANETARY CRUISE', 'Information not provided', 'Instrument Checkout 1', 'Instrument Checkout 2', 'Interplanetary Cruise', 'JUPITER CRUISE', 'JUPITER ENCOUNTER', 'Jupiter Cruise', 'Jupiter Encounter', 'LAUNCH', 'Launch', 'OUTER CRUISE', 'Outer Cruise', 'PHOEBE ENCOUNTER', 'PROXIMAL ORBITS', 'Phoebe Encounter', 'Proximal Orbits', 'QUIET CRUISE', 'Quiet Cruise', 'SATURN ORBIT INSERTION', 'SCIENCE CRUISE', 'SCIENCE_CRUISE', 'SOLSTICE MISSION', 'SPACE SCIENCE', 'SPACE_SCIENCE', 'Saturn Orbit Insertion', 'Science Cruise', 'Solstice Mission', 'Space Science', 'TCM 1', 'TITAN A ENCOUNTER', 'TITAN B ENCOUNTER', 'TITAN C HUYGENS', 'TOUR', 'TOUR PRE-HUYGENS', 'Titan A Encounter', 'Titan B Encounter', 'Titan C Huygens', 'Tour', 'Tour Pre-Huygens', 'VENUS 1 CRUISE', 'VENUS 1 ENCOUNTER', 'VENUS 2 - EARTH CRUISE', 'VENUS 2 ENCOUNTER', 'Venus 1 Cruise', 'Venus 1 Encounter', 'Venus 2 - Earth Cruise', 'Venus 2 Encounter', 'XM', 'XXM')"/> -->
    <!-- <xs:assert test="cassini:high_voltage_power_supply_state = ('OFF', 'ON', 'Off', 'On')"/> -->
    <!-- <xs:assert test="cassini:occultation_port_state = ('CLOSED', 'Closed', 'OPEN', 'Open')"/> -->
    <!-- <xs:assert test="cassini:slit_state = ('HIGH RESOLUTION', 'High Resolution', 'LOW RESOLUTION', 'Low Resolution', 'OCCULTATION', 'Occultation')"/> -->
    <!-- <xs:assert test="cassini:test_pulse_state = ('OFF', 'ON', 'Off', 'On')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="VIMS_Specific_Attributes">
    <xs:annotation>
      <xs:documentation>The VIMS Specific Attributes class provides
        local attributes used by VIMS observations.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="mission_phase_name" type="cassini:mission_phase_name" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="spacecraft_clock_count_partition" type="cassini:spacecraft_clock_count_partition" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_clock_start_count" type="cassini:spacecraft_clock_start_count" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_clock_stop_count" type="cassini:spacecraft_clock_stop_count" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="limitations" type="cassini:limitations" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="antiblooming_state_flag" type="cassini:antiblooming_state_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="background_sampling_frequency" type="cassini:background_sampling_frequency" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="background_sampling_mode_id_ir" type="cassini:background_sampling_mode_id_ir" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="background_sampling_mode_id_vis" type="cassini:background_sampling_mode_id_vis" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="bias_state_id" type="cassini:bias_state_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="command_file_name" type="cassini:command_file_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="command_sequence_number" type="cassini:command_sequence_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="compressor_id" type="cassini:compressor_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="data_buffer_state_flag" type="cassini:data_buffer_state_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="detector_temperature_IR_high_res" type="cassini:detector_temperature_IR_high_res" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="detector_temperature_IR_low_res" type="cassini:detector_temperature_IR_low_res" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="detector_temperature_visible" type="cassini:detector_temperature_visible" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="earth_received_start_time" type="cassini:earth_received_start_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="earth_received_stop_time" type="cassini:earth_received_stop_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="exposure_duration_ir" type="cassini:exposure_duration_ir" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="exposure_duration_vis" type="cassini:exposure_duration_vis" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="fast_hk_item_name_1" type="cassini:fast_hk_item_name_1" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="fast_hk_item_name_2" type="cassini:fast_hk_item_name_2" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="fast_hk_item_name_3" type="cassini:fast_hk_item_name_3" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="fast_hk_item_name_4" type="cassini:fast_hk_item_name_4" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="fast_hk_pickup_rate" type="cassini:fast_hk_pickup_rate" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="flight_software_version_id" type="cassini:flight_software_version_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="gain_mode_id_ir" nillable="true" type="cassini:gain_mode_id_ir" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="gain_mode_id_vis" nillable="true" type="cassini:gain_mode_id_vis" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ground_software_version_id" type="cassini:ground_software_version_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="housekeeping_clock_count" type="cassini:housekeeping_clock_count" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="image_observation_type" type="cassini:image_observation_type" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="inst_cmprs_name" type="cassini:inst_cmprs_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="inst_cmprs_ratio" type="cassini:inst_cmprs_ratio" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="instrument_data_rate" type="cassini:instrument_data_rate" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="instrument_mode_id" type="cassini:instrument_mode_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="instrument_temperature_spectrometer" type="cassini:instrument_temperature_spectrometer" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="instrument_temperature_grating" type="cassini:instrument_temperature_grating" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="integration_delay_flag" type="cassini:integration_delay_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="interframe_delay_duration" type="cassini:interframe_delay_duration" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="interline_delay_duration" type="cassini:interline_delay_duration" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="missing_packet_flag" type="cassini:missing_packet_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="missing_pixels" type="cassini:missing_pixels" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="native_start_time" type="cassini:native_start_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="native_stop_time" type="cassini:native_stop_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="observation_id" type="cassini:observation_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="offset_flag" type="cassini:offset_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="optics_temperature_ir_1" type="cassini:optics_temperature_ir_1" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="optics_temperature_ir_2" type="cassini:optics_temperature_ir_2" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="optics_temperature_vis" type="cassini:optics_temperature_vis" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="overwritten_channel_flag" type="cassini:overwritten_channel_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="packing_flag" type="cassini:packing_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="parameter_set_id" type="cassini:parameter_set_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pds3_product_creation_time" type="cassini:pds3_product_creation_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pds3_product_version_type" type="cassini:pds3_product_version_type" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pds3_target_desc" type="cassini:pds3_target_desc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pds3_target_name" type="cassini:pds3_target_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pre-pds_version_number" type="cassini:pre-pds_version_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="power_state_flag_ir" type="cassini:power_state_flag_ir" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="power_state_flag_vis" type="cassini:power_state_flag_vis" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sampling_mode_id_ir" type="cassini:sampling_mode_id_ir" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sampling_mode_id_vis" type="cassini:sampling_mode_id_vis" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="scan_mode_id" type="cassini:scan_mode_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sequence_id" type="cassini:sequence_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sequence_title" type="cassini:sequence_title" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="shutter_state_flag" type="cassini:shutter_state_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="snapshot_mode_flag" type="cassini:snapshot_mode_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spectral_editing_flag" type="cassini:spectral_editing_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spectral_summing_flag" type="cassini:spectral_summing_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="start_time_doy" type="cassini:start_time_doy" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="stop_time_doy" type="cassini:stop_time_doy" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="swath_length" type="cassini:swath_length" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="swath_width" type="cassini:swath_width" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="telemetry_format_id" type="cassini:telemetry_format_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="x_offset" type="cassini:x_offset" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="z_offset" type="cassini:z_offset" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="cassini:mission_phase_name = ('APPROACH SCIENCE', 'APPROACH_SCIENCE', 'Approach Science', 'CRUISE', 'CRUISE SCIENCE', 'EARTH ENCOUNTER', 'EARTH-JUPITER CRUISE', 'EQUINOX MISSION', 'EXTENDED MISSION', 'EXTENDED-EXTENDED MISSION', 'Earth Encounter', 'Equinox Mission', 'Extended Mission', 'Extended-Extended Mission', 'HIGH GAIN ANTENNA TRANSITION', 'HUYGENS DESCENT', 'HUYGENS PROBE SEPARATION', 'High Gain Antenna Transition', 'Huygens Descent', 'Huygens Probe Separation', 'INSTRUMENT CHECKOUT 1', 'INSTRUMENT CHECKOUT 2', 'INTERPLANETARY CRUISE', 'Information not provided', 'Instrument Checkout 1', 'Instrument Checkout 2', 'Interplanetary Cruise', 'JUPITER CRUISE', 'JUPITER ENCOUNTER', 'Jupiter Cruise', 'Jupiter Encounter', 'LAUNCH', 'Launch', 'OUTER CRUISE', 'Outer Cruise', 'PHOEBE ENCOUNTER', 'PROXIMAL ORBITS', 'Phoebe Encounter', 'Proximal Orbits', 'QUIET CRUISE', 'Quiet Cruise', 'SATURN ORBIT INSERTION', 'SCIENCE CRUISE', 'SCIENCE_CRUISE', 'SOLSTICE MISSION', 'SPACE SCIENCE', 'SPACE_SCIENCE', 'Saturn Orbit Insertion', 'Science Cruise', 'Solstice Mission', 'Space Science', 'TCM 1', 'TITAN A ENCOUNTER', 'TITAN B ENCOUNTER', 'TITAN C HUYGENS', 'TOUR', 'TOUR PRE-HUYGENS', 'Titan A Encounter', 'Titan B Encounter', 'Titan C Huygens', 'Tour', 'Tour Pre-Huygens', 'VENUS 1 CRUISE', 'VENUS 1 ENCOUNTER', 'VENUS 2 - EARTH CRUISE', 'VENUS 2 ENCOUNTER', 'Venus 1 Cruise', 'Venus 1 Encounter', 'Venus 2 - Earth Cruise', 'Venus 2 Encounter', 'XM', 'XXM')"/> -->
    <!-- <xs:assert test="cassini:background_sampling_frequency = ('0', '1', '16', '2', '32', '4', '64', '8')"/> -->
    <!-- <xs:assert test="cassini:background_sampling_mode_id_ir = ('AVG2', 'AVG4', 'N/A', 'NOBACK', 'Not applicable', 'SINGLE')"/> -->
    <!-- <xs:assert test="cassini:background_sampling_mode_id_vis = ('Information not provided', 'N/A', 'NORMAL', 'Not applicable', 'ZERO_SUB')"/> -->
    <!-- <xs:assert test="cassini:bias_state_id = ('HIGH', 'LOW')"/> -->
    <!-- <xs:assert test="cassini:data_buffer_state_flag = ('DISABLED', 'ENABLED')"/> -->
    <!-- <xs:assert test="cassini:gain_mode_id_ir = ('HIGH', 'LOW', 'N/A', 'Not applicable')"/> -->
    <!-- <xs:assert test="cassini:gain_mode_id_vis = ('HIGH', 'LOW', 'N/A', 'Not applicable')"/> -->
    <!-- <xs:assert test="cassini:integration_delay_flag = ('DISABLED', 'ENABLED')"/> -->
    <!-- <xs:assert test="cassini:missing_packet_flag = ('Information not provided', 'NO', 'YES')"/> -->
    <!-- <xs:assert test="cassini:offset_flag = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="cassini:overwritten_channel_flag = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="cassini:packing_flag = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="cassini:power_state_flag_ir = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="cassini:power_state_flag_vis = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="cassini:sampling_mode_id_ir = ('HI-RES', 'NORMAL', 'NYQUIST', 'UNDER')"/> -->
    <!-- <xs:assert test="cassini:sampling_mode_id_vis = ('HI-RES', 'N/A', 'NORMAL', 'Not applicable')"/> -->
    <!-- <xs:assert test="cassini:shutter_state_flag = ('DISABLED', 'ENABLED')"/> -->
    <!-- <xs:assert test="cassini:snapshot_mode_flag = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="cassini:spectral_editing_flag = ('OFF', 'ON')"/> -->
    <!-- <xs:assert test="cassini:spectral_summing_flag = ('OFF', 'ON')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </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="ab_pixel_correction_flag">
    <xs:annotation>
      <xs:documentation> The ab_pixel_correction_flag indicates whether
        the A-B pixel correction option was selected. This option
        identifies and removes bright/dark pixel artifacts caused by the
        camera's anti-blooming mode by detecting pixel pairs with
        intensity differences above a user-defined threshold
        </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="antiblooming_state_flag">
    <xs:annotation>
      <xs:documentation>The antiblooming_state_flag element indicates
        whether antiblooming was used for this image. Blooming occurs
        when photons from an individual cell in a CCD array overflow
        into surrounding cells. Antiblooming measures are used to either
        prevent or correct for this effect.</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="background_sampling_frequency">
    <xs:annotation>
      <xs:documentation>The background_sampling_frequency element is
        used by VIMS. It identifies the number of lines between
        background samples. </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="background_sampling_mode_id_ir">
    <xs:annotation>
      <xs:documentation>The background_sampling_mode_id_ir element is a
        VIMS attribute which indicates the background sampling mode for
        the IR channel. If background sampling is turned on, one, two,
        or four samples can be averaged for each background point.
        </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="background_sampling_mode_id_vis">
    <xs:annotation>
      <xs:documentation>The background_sampling_mode_id_vis element is a
        VIMS attribute which indicates the spatial resolution of the
        visual 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="band_bin">
    <xs:annotation>
      <xs:documentation>The band_bin element is an attribute used in the
        Detector_Window class. It identifies the amount of binning done
        within the window along the band axis. </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="bias_state_id">
    <xs:annotation>
      <xs:documentation>The bias_state_id element identifies the bias
        state of the infrared channel of the VIMS 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="bias_strip_mean">
    <xs:annotation>
      <xs:documentation>The bias_strip_mean element provides the mean
        value of the bias strip (also known as overclocked pixels). The
        bias strip is an area of a CCD that provides a measure of the
        bias level of the electronics (ie., electronics noise). It is
        not affected by dark current. Note: For Cassini, this mean does
        not include the values from the first and last lines of the
        CCD.</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="bias_subtraction_text">
    <xs:annotation>
      <xs:documentation> The chosen method for the CISSCAL bias
        subtraction. Bias subtraction removes the CCD's zero-exposure
        signal (bias) either by subtracting the BIAS_STRIP_MEAN from the
        image header or by fitting a line to the overclocked pixels.
        This entry also details which method was chosen for the 2Hz
        noise removal. There are two possible options for removing this
        noise. The first uses the overclocked pixel array. The second
        uses the dark sky areas in the image itself. In either case, the
        2Hz background is inferred by taking the average or median value
        for each line in conjunction with low-pass filtering
        </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_lamp_state_flag">
    <xs:annotation>
      <xs:documentation>The calibration_lamp_state_flag element
        indicates whether a lamp used for onboard camera calibration is
        turned on or off.</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_stage">
    <xs:annotation>
      <xs:documentation> A keyword appended to the VICAR label of an
        output image, indicating how far the image has progressed
        through the CISSCAL calibration pipeline, allowing the software
        to resume processing from the appropriate step if calibration is
        restarted. </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="calibration_units">
    <xs:annotation>
      <xs:documentation> Refers to the physical units assigned to pixel
        values after radiometric calibration, and they indicate what
        kind of brightness or flux measurement the calibrated image
        represents. There are two possible units: - the standard
        radiometric units (photons/cm²/s/nm/ster). This is the default
        if CISSCAL performs the full radiometric pipeline and does not
        convert to I/F. It reflects absolute scene brightness. - I/F
        units. This is a unitless ratio that compares the scene's
        observed brightness (I) to the incoming solar flux (F) at the
        object's distance from the Sun. </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="command_file_name">
    <xs:annotation>
      <xs:documentation>The command_file_name element provides the name
        of the file containing the commanded observation description for
        this product. Note: For Cassini, this comes from the Instrument
        Operations Interface (IOI) file.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="command_sequence_number">
    <xs:annotation>
      <xs:documentation>The command_sequence_number element provides a
        numeric identifier for a sequence of commands sent to a
        spacecraft or instrument. For ISS, the permissible range is
        [1,65535]. For VIMS, the permissible range is [1,255]. For all
        instances, a value of -1 indicates that the information was not
        available in the original PDS3 label. </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="compression_type">
    <xs:annotation>
      <xs:documentation> The compression_type element indicates the type
        of compression/encoding used for data that was subsequently
        decompressed/unencoded before storage.</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="compressor_id">
    <xs:annotation>
      <xs:documentation>The compressor_id element identifies the
        compressor through which the data was compressed.A value of -1
        indicates that the information was not available in the original
        PDS3 label. </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="dark_current_correction_type">
    <xs:annotation>
      <xs:documentation> Refers to the method used to subtract dark
        current from an image in CISSCAL. Three possible methods exist:
        correction via a user-given VICAR-format dark image, a
        2-parameter model, and an interpolation model. The interpolation
        model is the most accurate and is the default in current CISSCAL
        versions. </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="dark_current_file_name">
    <xs:annotation>
      <xs:documentation> The name of a VICAR-format image file used to
        perform dark current correction by direct subtraction. This file
        contains dark current measurements that will be subtracted from
        the science data. When specified, this method overrides the
        default interpolation model approach used by CISSCAL. The dark
        file must match the summation mode of the science data (FULL,
        SUM2, or SUM4). If it doesn't match, the file will be
        automatically resampled. </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="dark_current_parameter_file">
    <xs:annotation>
      <xs:documentation> The parameter file used when applying the
        interpolation model for dark current correction in CISSCAL. This
        file contains 8 coefficients per pixel that define an equation
        modeling dark current as a function of the time each pixel sits
        on the CCD. These parameter files are generated externally (e.g.
        by Bob West at JPL), not within CISSCAL, and are specific to
        camera mode and configuration. The file must be available for
        CISSCAL to construct accurate synthetic dark images for
        subtraction. </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="dark_strip_mean">
    <xs:annotation>
      <xs:documentation>The dark_strip_mean element provides the mean
        value of the pixels in the dark strip area of a CCD. The dark
        strip is an area of the CCD which is covered in such a way as to
        receive no light. The dark strip provides a measure of the dark
        current in the CCD. Note: For Cassini, the dark strip pixels
        were referred to as extended pixels. Also, the mean was
        calculated without the values from the first and last lines of
        the CCD.</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="data_buffer_state_flag">
    <xs:annotation>
      <xs:documentation>The data_buffer_state_flag element indicates
        whether the data buffer onboard the spacecraft was enabled to
        allow for the temporary storage of the data before being
        downloaded.</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="data_conversion_text">
    <xs:annotation>
      <xs:documentation> The data_conversion_text details the chosen LUT
        conversion calibration step. This applies only to images with a
        DATA_CONVERSION_TYPE of "TABLE", which have been encoded using a
        lookup table (LUT) to compress 12-bit data into an 8-bit range
        (0-255 DN). </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="data_conversion_type">
    <xs:annotation>
      <xs:documentation>The data_conversion_type element provides the
        method of conversion used to reduce an image from one bit depth
        to another. Note: For Cassini, this means conversion of a
        selected image from 12 to 8 bits.</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="delayed_readout_flag">
    <xs:annotation>
      <xs:documentation>The delayed_readout_flag element provides an
        indication of whether or not an image had to remain stored on a
        CCD while some some other instrument function was taking place.
        Note: for Cassini, the delay in the image readout is due to the
        readout of the alternate camera image from the
        CCD.</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="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 is the temperature that
        the instrument (detector) operated at while a measurement was
        made. For VIMS, this PDS3 keyword was multi-valued, with the
        specific meaning of each value based on the order of the given
        values. Consequently, for VIMS in PDS4, this keyword has been
        replaced by multiple specific attributes. Following is a list of
        PDS3 keyword position indicies and the corresponding PDS4
        attribute. PDS3 PDS4 [1] detector_temperature_IR_high_res [2]
        detector_temperature_IR_low_res [3] detector_temperature_visible
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:detector_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="detector_temperature_IR_high_res_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_IR_high_res">
    <xs:annotation>
      <xs:documentation>The detector_temperature_IR_high_res element
        provides the temperature of the IR high resolution (small range)
        sensor. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:detector_temperature_IR_high_res_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="detector_temperature_IR_low_res_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_IR_low_res">
    <xs:annotation>
      <xs:documentation>The detector_temperature_IR_low_res element
        provides the temperature of the IR low resolution (large range)
        sensor. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:detector_temperature_IR_low_res_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="detector_temperature_visible_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_visible">
    <xs:annotation>
      <xs:documentation>The detector_temperature_visible element
        provides the temperature of the visible sensor.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:detector_temperature_visible_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="earth_received_start_time">
    <xs:annotation>
      <xs:documentation>The earth_received_start_time element provides
        the earth Received time of the earliest record containing valid
        data for this image (UTC).</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Date_Time_DOY">
  <!-- format="YYYY-DOYTHH:MM:SS.SSSSSS(Z)" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="earth_received_stop_time">
    <xs:annotation>
      <xs:documentation>The earth_received_stop_time element provides
        the earth Received time of the latest record containing valid
        data for this image (UTC).</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Date_Time_DOY">
  <!-- format="YYYY-DOYTHH:MM:SS.SSSSSS(Z)" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="electronics_bias">
    <xs:annotation>
      <xs:documentation>The electronics_bias element provides the
        commanded electronics bias value that is used to ensure that all
        digital number (DN) values in the data are greater than zero. A
        value of -1 indicates that the information was not available in
        the original PDS3 label. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-1"/>
     <xs:maxInclusive value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="equirectangular_max_footprint_height_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="equirectangular_max_footprint_height">
    <xs:annotation>
      <xs:documentation> The PDS3 name for this attribute was
        CSS:MAX_FOOTPRINT_LINE (with MAP_PROJECTION_TYPE =
        EQUIRECTANGULAR), and was defined as "Maximum size of footprints
        along the line axis". The meaning of this is unclear, but we
        believe it means the (angular) length along the vertical
        direction of the largest footprint (a CIRS detector) on the
        pixel grid, and have renamed it in PDS4 accordingly as
        equirectangular_max_footprint_height. The equirectangular
        projection is used for observations of Saturn and its
        satellites, but not for the rings. The line coordinate is
        planetocentric or planetographic latitude (in units of degrees),
        which decreases with increasing sample index, so that map
        features appear correctly when the cube line/sample planes are
        displayed with sample index increasing from top to bottom.
        CAVEAT USOR: Several examples of CIRS cubes do not appear to
        correctly identify their min/max footprint width/heights. For
        example, some using equirectangular projection list their max
        footprint width as 360 deg, even when there is no wrapping.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:equirectangular_max_footprint_height_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="equirectangular_max_footprint_width_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="equirectangular_max_footprint_width">
    <xs:annotation>
      <xs:documentation> The PDS3 name for this attribute was
        CSS:MAX_FOOTPRINT_SAMPLE (with MAP_PROJECTION_TYPE =
        EQUIRECTANGULAR), and was defined as "Maximum size of footprints
        along the sample axis". The meaning of this is unclear, but we
        believe it means the (angular) length along the horizontal
        direction of the largest footprint (a CIRS detector) on the
        pixel grid, and have renamed it in PDS4 accordingly as
        equirectangular_max_footprint_width. The equirectangular
        projection is used for observations of Saturn and its
        satellites, but not for the rings. The sample coordinate is West
        longitude (in units of degrees), which decreases with increasing
        sample index, so that surface features appear correctly when the
        cube line/sample planes are displayed with sample index
        increasing from left to right. CAVEAT USOR: Several examples of
        CIRS cubes do not appear to correctly identify their min/max
        footprint width/heights. For example, some using equirectangular
        projection list their max footprint width as 360 deg, even when
        there is no wrapping. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:equirectangular_max_footprint_width_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="equirectangular_min_footprint_height_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="equirectangular_min_footprint_height">
    <xs:annotation>
      <xs:documentation> The PDS3 name for this attribute was
        CSS:MIN_FOOTPRINT_LINE (with MAP_PROJECTION_TYPE =
        EQUIRECTANGULAR), and was defined as "Minimum size of footprints
        along the line axis". The meaning of this is unclear, but we
        believe it means the (angular) length along the vertical
        direction of the smallest footprint (a CIRS detector) on the
        pixel grid, and have renamed it in PDS4 accordingly as
        equirectangular_min_footprint_height. The equirectangular
        projection is used for observations of Saturn and its
        satellites, but not for the rings. The line coordinate is
        planetocentric or planetographic latitude (in units of degrees),
        which decreases with increasing sample index, so that map
        features appear correctly when the cube line/sample planes are
        displayed with sample index increasing from top to bottom.
        CAVEAT USOR: Several examples of CIRS cubes do not appear to
        correctly identify their min/max footprint width/heights. For
        example, some using equirectangular projection list their max
        footprint width as 360 deg, even when there is no wrapping.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:equirectangular_min_footprint_height_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="equirectangular_min_footprint_width_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="equirectangular_min_footprint_width">
    <xs:annotation>
      <xs:documentation> The PDS3 name for this attribute was
        CSS:MIN_FOOTPRINT_SAMPLE (with MAP_PROJECTION_TYPE =
        EQUIRECTANGULAR), and was defined as "Minimum size of footprints
        along the sample axis". The meaning of this is unclear, but we
        believe it means the (angular) length along the horizontal
        direction of the smallest footprint (a CIRS detector) on the
        pixel grid, and have renamed it in PDS4 accordingly as
        equirectangular_min_footprint_width. The equirectangular
        projection is used for observations of Saturn and its
        satellites, but not for the rings. The sample coordinate is West
        longitude (in units of degrees), which decreases with increasing
        sample index, so that surface features appear correctly when the
        cube line/sample planes are displayed with sample index
        increasing from left to right. CAVEAT USOR: Several examples of
        CIRS cubes do not appear to correctly identify their min/max
        footprint width/heights. For example, some using equirectangular
        projection list their max footprint width as 360 deg, even when
        there is no wrapping. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:equirectangular_min_footprint_width_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="expected_maximum_DN_sat">
    <xs:annotation>
      <xs:documentation>The expected_maximum_DN_sat element represents
        the ratio of the expected maximum DN in the image to to the
        valid_maximum_DN_sat (maximum DN saturation level). Valid values
        are greater than zero. A value of -1 indicates that the
        information was not available in the original PDS3 label.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="expected_maximum_full_well">
    <xs:annotation>
      <xs:documentation>The expected_maximum_full_well element
        represents the ratio of the expected maximum DN in the image to
        the valid_maximum_full_well (minimum full well saturation level
        of the instrument). Valid values are greater than zero. A value
        of -1 indicates that the information was not available in the
        original PDS3 label. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="expected_packets">
    <xs:annotation>
      <xs:documentation>The expected_packets element provides the total
        number of telemetry packets which constitute a complete data
        product, i.e., a data product without missing data. Valid values
        are in the range [1,2277] A value of -1 indicates that the
        information was not available in the original PDS3 label.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-1"/>
     <xs:maxInclusive value="2277"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="exposure_correction_flag">
    <xs:annotation>
      <xs:documentation> The exposure_correction_flag indicates whether
        the exposure correction option was selected. This option
        corrects for shutter timing effects by dividing the image by the
        exposure time, accounting for the finite time it takes the
        shutter to open and close. This correction is camera- and
        temperature-dependent, using data from the "offset" directory in
        the calibration support files. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

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

  <xs:complexType name="exposure_duration">
    <xs:annotation>
      <xs:documentation>The exposure_duration element for Cassini ISS
        provides the value of the time interval between the opening and
        closing of an instrument aperture (such as a camera shutter).
        For Cassini VIMS, the PDS3 keyword was multi-valued,with the
        specific meaning of each value based on the order of the given
        values. For VIMS in PDS4, this keyword has been replaced by
        multiple specific attributes. Following is a list of PDS3
        keyword position indicies and the corresponding PDS4 attribute.
        PDS3 PDS4 [1] exposure_duration_ir [2] exposure_duration_vis
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:exposure_duration_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

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

  <xs:complexType name="exposure_duration_ir">
    <xs:annotation>
      <xs:documentation>The exposure_duration_ir element provides
        integration duration | of each pixel of the VIMS IR channel.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:exposure_duration_ir_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

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

  <xs:complexType name="exposure_duration_vis">
    <xs:annotation>
      <xs:documentation>The exposure_duration_vis element provides
        integration duration | of each pixel of the VIMS visible
        channel. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:exposure_duration_vis_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="exposure_offset">
    <xs:annotation>
      <xs:documentation> The shutter timing correction applied during
        the exposure correction step, measured in milliseconds. This
        offset accounts for the finite time required for the shutter to
        fully open and close, which affects the actual exposure time of
        the image. The offset values (2.75 ms for NAC, 2.67 ms for WAC)
        were determined through ground calibration and represent the
        mean delay across the field of view. These values are used in
        conjunction with temperature-dependent shutter offset files that
        provide position-specific corrections across the detector.
        </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="fast_hk_item_name_1">
    <xs:annotation>
      <xs:documentation>The fast_hk_item_name_1 element provides the
        name of the housekeeping item which was collected and stored in
        the first plane of band suffix array (backplanes). If fast
        housekeeping is not used, this item will have a value of 'not
        used'. Fast housekeeping is a partial gathering of the available
        engineering data values, or items, that pertain to and describe
        the condition of the instrument itself. If present, the fast
        housekeeping value will always supercede the slow housekeeping
        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="fast_hk_item_name_2">
    <xs:annotation>
      <xs:documentation>The fast_hk_item_name_2 element provides the
        name of the housekeeping item which was collected and stored in
        the second plane of band suffix array (backplanes). If fast
        housekeeping is not used, this item will have a value of 'not
        used'. Fast housekeeping is a partial gathering of the available
        engineering data values, or items, that pertain to and describe
        the condition of the instrument itself. If present, the fast
        housekeeping value will always supercede the slow housekeeping
        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="fast_hk_item_name_3">
    <xs:annotation>
      <xs:documentation>The fast_hk_item_name_3 element provides the
        name of the housekeeping item which was collected and stored in
        the third plane of band suffix array (backplanes). If fast
        housekeeping is not used, this item will have a value of 'not
        used'. Fast housekeeping is a partial gathering of the available
        engineering data values, or items, that pertain to and describe
        the condition of the instrument itself. If present, the fast
        housekeeping value will always supercede the slow housekeeping
        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="fast_hk_item_name_4">
    <xs:annotation>
      <xs:documentation>The fast_hk_item_name_4 element provides the
        name of the housekeeping item which was collected and stored in
        the fourth plane of band suffix array (backplanes). If fast
        housekeeping is not used, this item will have a value of 'not
        used'. Fast housekeeping is a partial gathering of the available
        engineering data values, or items, that pertain to and describe
        the condition of the instrument itself. If present, the fast
        housekeeping value will always supercede the slow housekeeping
        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="fast_hk_pickup_rate">
    <xs:annotation>
      <xs:documentation>The fast_hk_pickup_rate element provides the
        rate at which fast housekeeping is collected. Fast housekeeping
        is a partial gathering of the available engineering data values,
        or items, that pertain to and describe the condition of the
        instrument itself. Note: For Cassini, this value (n) is stored
        in the band suffix, or backplane, of the spectral cube for the
        infrared channel. If (n) is set to zero, then housekeeping
        values will be collected at every pixel (i.e., every pixel of
        the backplane will have a value). If (n) is set from 1 to
        swath_length, then housekeeping values will be collected every
        nth line (i.e., only the first pixel of every nth line of the
        backplane will have a value). If no infrared housekeeping items
        were selected for the cube, then this keyword will not be
        present.</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="filter_name_1">
    <xs:annotation>
      <xs:documentation>Cassini ISS uses two filter wheels identified as
        Filter Wheel One and Filter Wheel Two. The filter_name_1 element
        provides the abbreviation for the filter in ISS Filter wheel One
        through which an image or measurement was acquired or which is
        associated with a given instrument mode. </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="filter_name_2">
    <xs:annotation>
      <xs:documentation>Cassini ISS uses two filter wheels identified as
        Filter Wheel One and Filter Wheel Two. The filter_name_2 element
        provides the abbreviation for the filter in ISS Filter wheel Two
        through which an image or measurement was acquired or which is
        associated with a given instrument mode. </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="filter_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="filter_temperature">
    <xs:annotation>
      <xs:documentation>The filter_temperature element provides the
        temperature of the filter wheel housing.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:filter_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="first_line_center">
    <xs:annotation>
      <xs:documentation>Line coordinate at the center of the first line
        element</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="first_sample_center">
    <xs:annotation>
      <xs:documentation>Sample coordinate at the center of the first
        sample element</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="flat_field_correction_flag">
    <xs:annotation>
      <xs:documentation> The flat_field_correction_flag indicates
        whether flat field correction was applied to normalize
        pixel-to-pixel sensitivity variations across the detector. When
        ENABLED, the correction involves: - Division by a normalized
        flat field derived from a slope file specific to the filter
        combination and optics temperature range - Correction for dust
        rings and mottling effects that appear in images Selection of
        the appropriate slope file from the 'slope_db_2.tab' database is
        based on: - Camera (NAC/WAC) - Filter combination - Optics
        temperature range (-5°C and below, -5°C to 25°C, or above 25°C)
        The correction is skipped if the shutter is disabled or if no
        appropriate flat field file is found in the database. The flat
        field is normalized to the median value of a 400x400 pixel
        region in the center of the 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="flat_field_file_name">
    <xs:annotation>
      <xs:documentation> Refers to the slope file used during flat field
        correction in CISSCAL. These files are stored in the "slope"
        subdirectory of the calibration support directory and are
        selected based on the filter combination and temperature of the
        image. The correct file is automatically determined using a
        database file called slope_db.tab, which maps filter and
        temperature parameters to the appropriate slope 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="flight_software_version_id">
    <xs:annotation>
      <xs:documentation>The flight_software_version_id element
        identifies the version of the instrument flight software used to
        acquire the 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="focal_plane">
    <xs:annotation>
      <xs:documentation>Focal plane used in CIRS
        observations.</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="gain_correction">
    <xs:annotation>
      <xs:documentation> Gain correction in CISSCAL is the first step of
        converting DN to flux. This step multiplies the image by a gain
        factor to convert digital numbers (DN) to the number of
        electrons detected, based on the camera's gain state. CISSCAL
        automatically selects the appropriate gain factor based on image
        metadata. </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="gain_mode_id_WO_Units">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="gain_mode_id">
    <xs:annotation>
      <xs:documentation>The gain_mode_id element identifies the gain
        state of an instrument. Gain is a constant value which is
        multiplied with an instrument's output signal to increase or
        decrease the level of that output. For ISS the value is the
        approximate gain setting for the image, given in units of
        electrons per DN. The use of an approximate value allows the
        both cameras to use the same set of values. The enumerated
        values given here are for Cassini ISS. For VIMS, this PDS3
        keyword was multi-valued, with the specific meaning of each
        value based on the order of the given values. For VIMS in PDS4,
        this keyword has been replaced by multiple specific attributes.
        Following is a list of PDS3 keyword position indicies and the
        corresponding PDS4 attribute. PDS3 PDS4 [1] gain_mode_id_ir [2]
        gain_mode_id_vis </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:gain_mode_id_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Misc" use="required" />
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="gain_mode_id_ir">
    <xs:annotation>
      <xs:documentation>The gain_mode_id_ir element identifies the gain
        state of the IR channel. Gain is a constant value which is
        multiplied with an instrument's output signal to increase or
        decrease the level of that output. In PDS3, for VIMS the keyword
        GAIN_MODE_ID was multi-valued, with the specific meaning of each
        value based on the order of the given values. For VIMS in PDS4,
        this keyword has been replaced by two specific attributes.
        Following is a list of PDS3 keyword position indicies and the
        corresponding PDS4 attribute. PDS3 PDS4 [1] gain_mode_id_ir [2]
        gain_mode_id_vis </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Short_String_Collapsed">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="gain_mode_id_vis">
    <xs:annotation>
      <xs:documentation>The gain_mode_id_vis element identifies the gain
        state of the visual channel. Gain is a constant value which is
        multiplied with an instrument's output signal to increase or
        decrease the level of that output. In PDS3, for VIMS the keyword
        GAIN_MODE_ID was multi-valued, with the specific meaning of each
        value based on the order of the given values. For VIMS in PDS4,
        this keyword has been replaced by two specific attributes.
        Following is a list of PDS3 keyword position indicies and the
        corresponding PDS4 attribute. PDS3 PDS4 [1] gain_mode_id_ir [2]
        gain_mode_id_vis </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Short_String_Collapsed">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="geometry_projection_type">
    <xs:annotation>
      <xs:documentation> Geometric correction in CISSCAL adjusts for
        optical distortion in the Cassini ISS images, particularly
        pin-cushion distortion in the Wide Angle Camera (WAC). When
        enabled, this step performs a 2D distortion transformation on
        the image array to improve the spatial accuracy of features. It
        uses precomputed distortion models and is off by default.
        </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="ground_software_version_id">
    <xs:annotation>
      <xs:documentation>The ground_software_version_id element
        identifies the version of the ground software used to acquire
        the image.Corresponds to the PDS3 keyword SOFTWARE.
        </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="hdac_d_level_01">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC deuterium cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_d_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_d_level_02">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC deuterium cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_d_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_d_level_03">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC deuterium cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_d_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_d_level_04">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC deuterium cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_d_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_d_level_05">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC deuterium cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_d_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_d_level_06">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC deuterium cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_d_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_d_level_07">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC deuterium cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_d_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_d_level_08">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC deuterium cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_d_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_d_level_09">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC deuterium cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_d_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_d_level_10">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC deuterium cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_d_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_d_level_11">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC deuterium cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_d_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_d_level_12">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC deuterium cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_d_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_d_level_13">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC deuterium cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_d_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_d_level_14">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC deuterium cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_d_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_d_level_15">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC deuterium cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_d_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_d_level_16">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC deuterium cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_d_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_dwell_time">
    <xs:annotation>
      <xs:documentation>The value associated with the HDAC channel which
        defines the number of integrations taken at a particular
        filament level. HDAC integration time is always 125
        milliseconds.</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="hdac_h_level_01">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC hydrogen cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_h_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_h_level_02">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC hydrogen cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_h_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_h_level_03">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC hydrogen cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_h_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_h_level_04">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC hydrogen cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_h_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_h_level_05">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC hydrogen cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_h_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_h_level_06">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC hydrogen cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_h_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_h_level_07">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC hydrogen cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_h_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_h_level_08">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC hydrogen cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_h_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_h_level_09">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC hydrogen cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_h_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_h_level_10">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC hydrogen cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_h_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_h_level_11">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC hydrogen cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_h_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_h_level_12">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC hydrogen cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_h_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_h_level_13">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC hydrogen cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_h_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_h_level_14">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC hydrogen cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_h_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_h_level_15">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC hydrogen cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_h_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="hdac_h_level_16">
    <xs:annotation>
      <xs:documentation>Provides the value for the HDAC hydrogen cell
        filament voltage level for one step of 16 in a sequence. Values
        are integers from 0 (off) to 7 (max voltage and consequently
        temperature). In the attribute name, hdac_h_level_[n], [n] is
        one value from 01, 02, ... 16. The value for n gives the
        position in the sequence (e.g., _01 indicates the first position
        in the sequence, _02 indicates the second position in the
        sequence). </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="high_voltage_power_supply_state">
    <xs:annotation>
      <xs:documentation>The state of the high voltage power power supply
        on 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="housekeeping_clock_count">
    <xs:annotation>
      <xs:documentation>The housekeeping_clock_count element provides
        the spacecraft clock value at the time that slow housekeeping
        was collected. Slow housekeeping is the gathering of all
        available engineering data values, or items, that pertain to and
        describe the condition of the instrument itself. Typically this
        value is read from the last (most recent) housekeeping packet
        received before the end of the spectral cube
        downlink.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="image_mid_time">
    <xs:annotation>
      <xs:documentation>The image_mid_time element provides the time at
        which the exposure of the image was half way through its
        duration. This value is calculated from the formula,
        spacecraft_clock_stop_count - (exposure_duration/2), and then
        converted to UTC. Note: For Cassini, when the shutter is
        inhibited (i.e., shutter_state_id='Disabled'), the
        image_mid_time = start_date_time = stop_date_time, and all three
        represent the start of the exposure window during the prepare
        cycle of the image.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Date_Time_DOY">
  <!-- format="YYYY-DOYTHH:MM:SS.SSSSSS(Z)" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="image_number">
    <xs:annotation>
      <xs:documentation>The image_number element is a value obtained
        from the spacecraft_clock_start_count. The image number is
        another commonly used identifier for an 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="image_observation_type">
    <xs:annotation>
      <xs:documentation>The image_observation_type element identifies
        the type or purpose of an observation that may be associated
        with an image. Image observation types include limb, black sky,
        spacecraft calibration, or other image attribute that may be
        used for identification.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="image_time">
    <xs:annotation>
      <xs:documentation>The image_time element is duplicated from the
        PDS3 label. It provides Time of shutter close calculated from
        spacecraft clock using both the coarse (seconds) and fine
        (subRTI) counters (UTC). (A subRTI is approximately 4 msec
        (1/256 second)). The value is identical to that given in
        start_time_doy, and start_date_time. Although it is redundant,
        it is retained here for historical reasons. When the shutter was
        inhibited (ie SHUTTER_STATE_ID=”DISABLED”), the IMAGE_TIME =
        START_TIME = STOP_TIME, and all three represent the start of the
        exposure window during the prepare cycle of the image.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Date_Time_DOY">
  <!-- format="YYYY-DOYTHH:MM:SS.SSSSSS(Z)" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="inst_cmprs_name">
    <xs:annotation>
      <xs:documentation>The inst_cmprs_name element identifies the type
        of on-board compression used for data storage and
        transmission.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="inst_cmprs_param_blocks">
    <xs:annotation>
      <xs:documentation>The inst_cmprs_param_blocks is applicable only
        when the value of inst_cmprs_type = “LOSSY”. This value defines
        the group-of-blocks (number of blocks per group) parameter.
        Valid values are in the range [1,255] A value of 999 indicates
        that lossy compression was not used, or that the information was
        not available in the original PDS3 label. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="inst_cmprs_param_malgo">
    <xs:annotation>
      <xs:documentation>The inst_cmprs_param_malgo is applicable only
        when the value of inst_cmprs_type = “LOSSY”. This value defines
        the MALGO (algorithm) parameter. Valid values are in the range
        [0,1] A value of 999 indicates that lossy compression was not
        used, or that the information was not available in the original
        PDS3 label. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="inst_cmprs_param_quant">
    <xs:annotation>
      <xs:documentation>The inst_cmprs_param_quant is applicable only
        when the value of inst_cmprs_type = “LOSSY”. This value defines
        the compression rate parameter (quantization factor). Valid
        values are in the range [0,15] A value of 999 indicates that
        lossy compression was not used, or that the information was not
        available in the original PDS3 label. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="inst_cmprs_param_tb">
    <xs:annotation>
      <xs:documentation>The inst_cmprs_param_tb is applicable only when
        the value of inst_cmprs_type = “LOSSY”. This value defines the
        TB (block type) parameter. Valid values are in the range [0,1] A
        value of 999 indicates that lossy compression was not used, or
        that the information was not available in the original PDS3
        label. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="inst_cmprs_rate_actual_bits">
    <xs:annotation>
      <xs:documentation>The inst_cmprs_rate_actual_bits element provides
        the average number of bits needed to represent a pixel for an
        on-board compressed image. It is the actual average number of
        bits and is calculated during telemetry processing. Valid values
        are in the range [0.0,16.0]. A value of -999. indicates that the
        information was not available in the original PDS3 label.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-999."/>
     <xs:maxInclusive value="16."/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="inst_cmprs_rate_expected_bits">
    <xs:annotation>
      <xs:documentation>The inst_cmprs_rate_expected_bits element
        provides the average number of bits needed to represent a pixel
        for an on-board compressed image. It comes from the
        BITS_PER_PIXEL keyword in the IOI file. Valid values are in the
        range [0.0,16.0]. A value of -999. indicates that the
        information was not available in the original PDS3 label.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-999."/>
     <xs:maxInclusive value="16."/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="inst_cmprs_ratio">
    <xs:annotation>
      <xs:documentation>The inst_cmprs_ratio element provides the ratio
        of the size, in bytes, of the original uncompressed data file to
        its compressed form. A value of -999 indicates that the
        information was not available in the original PDS3 label.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-999"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="inst_cmprs_type">
    <xs:annotation>
      <xs:documentation>The inst_cmprs_type element identifies the type
        of on-board compression used for data storage and
        transmission.</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="instrument_data_rate">
    <xs:annotation>
      <xs:documentation>The instrument_data_rate element provides the
        rate at which data were transmitted from an instrument to the
        spacecraft.</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="instrument_mode_id">
    <xs:annotation>
      <xs:documentation>The instrument_mode_id element provides an
        instrument-dependent designation of operating mode. This may be
        simply a number, letter or code, or a word such as 'normal',
        'full resolution', 'near encounter', or 'fixed
        grating'.</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="instrument_temperature_grating_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="instrument_temperature_grating">
    <xs:annotation>
      <xs:documentation>The instrument_temperature_grating element gives
        the nominal temperature of the spectrometer grating.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:instrument_temperature_grating_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="instrument_temperature_spectrometer_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="instrument_temperature_spectrometer">
    <xs:annotation>
      <xs:documentation>The instrument_temperature_spectrometer element
        gives the nominal temperature of the spectrometer body. It is
        calculated as the mean of two samples of the spectrometer body
        temperature. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:instrument_temperature_spectrometer_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="integration_delay_flag">
    <xs:annotation>
      <xs:documentation>The integration_delay_flag indicates whether the
        integration time for a rapidly acquired spectral cube was
        extended by shrinking the pixel synch pulse.</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="integration_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="integration_duration">
    <xs:annotation>
      <xs:documentation>The duration of a time over which a particular
        instrument is integrating.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:integration_duration_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="interframe_delay_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="interframe_delay_duration">
    <xs:annotation>
      <xs:documentation>The interframe_delay_duration element provides
        the duration of the delay between the end of one frame and the
        start of the next to allow time for the scanning mirror to
        return to its starting position.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:interframe_delay_duration_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="interline_delay_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="interline_delay_duration">
    <xs:annotation>
      <xs:documentation>The interline_delay_duration element provides
        the duration of the delay between the end of one line of an
        image and the start of the next. Note: For Cassini, this refers
        to the infrared line. Time is allowed for: 1) the infrared
        duration mirror to return to its starting point, 2) collection
        of background data and 3) the alignment of the exposure center
        times between the infrared and visible
        channels.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:interline_delay_duration_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="last_line_center">
    <xs:annotation>
      <xs:documentation>Line coordinate at the center of the last line
        element</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="last_sample_center">
    <xs:annotation>
      <xs:documentation>Sample coordinate at the center of the last
        sample element</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="legacy_image_mid_time">
    <xs:annotation>
      <xs:documentation> The legacy_image_mid_time attribute represents
        the midpoint between the observation's start and stop times. It
        is derived from the START_TIME and STOP_TIME attributes in the
        original PDS3 label. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Date_Time_DOY">
  <!-- format="YYYY-DOYTHH:MM:SS.SSSSSS(Z)" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="legacy_image_time">
    <xs:annotation>
      <xs:documentation> The legacy_image_time attribute captures the
        representative acquisition time for the image, typically derived
        from the START_TIME keyword in the original PDS3 label. In cases
        where both START_TIME and STOP_TIME are available, this value
        may correspond to their midpoint. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Date_Time_DOY">
  <!-- format="YYYY-DOYTHH:MM:SS.SSSSSS(Z)" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="legacy_start_date_time">
    <xs:annotation>
      <xs:documentation> The legacy_start_date_time attribute preserves
        the original START_TIME value as extracted from the
        corresponding PDS3 data product. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Date_Time_YMD">
  <!-- format="YYYY-MM-DDTHH:MM:SS.SSSSSS(Z)" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="legacy_start_time_doy">
    <xs:annotation>
      <xs:documentation> The legacy_start_time_doy attribute contains
        the value for START_TIME in the year day-of-year format of the
        original PDS3 label. This value can also be previously
        represented in cassini.start_time_doy. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Date_Time_DOY">
  <!-- format="YYYY-DOYTHH:MM:SS.SSSSSS(Z)" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="legacy_stop_date_time">
    <xs:annotation>
      <xs:documentation> The legacy_stop_date_time attribute preserves
        the original STOP_TIME value as extracted from the corresponding
        PDS3 data product. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Date_Time_YMD">
  <!-- format="YYYY-MM-DDTHH:MM:SS.SSSSSS(Z)" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="legacy_stop_time_doy">
    <xs:annotation>
      <xs:documentation> The legacy_stop_time_doy attribute contains the
        value for STOP_TIME in the year day-of-year format of the
        original PDS3 label. This value can also be previously
        represented in cassini.stop_time_doy. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Date_Time_DOY">
  <!-- format="YYYY-DOYTHH:MM:SS.SSSSSS(Z)" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="light_flood_state_flag">
    <xs:annotation>
      <xs:documentation>The light_flood_state_flag element indicates the
        mode (on or off) of light flooding for 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="limitations">
    <xs:annotation>
      <xs:documentation>The limitation element repeats the content of
        the DESCRIPTION keyword in the PDS3 label. It proivdes known
        limitations of the data file (e.g., missing lines), as
        determined on the ground by IO validation and reconciliation
        software. A value of N/A indicates the software did not identify
        any issues. </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_bin">
    <xs:annotation>
      <xs:documentation>The line_bin element is an attribute used in the
        Detector_Window class. It identifies the amount of binning done
        within the window along the line axis. </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="line_center">
    <xs:annotation>
      <xs:documentation>For equirectangular cubes, this is the latitude
        of the pixel center, in degrees. For point perspective cubes, it
        is the scaled offset from the body center, in the direction of
        increasing J2000 Declination, in milliradians.</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="line_name">
    <xs:annotation>
      <xs:documentation>Coordinate name for the line
        axis</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="lr_corner_band">
    <xs:annotation>
      <xs:documentation>The lr_corner_band element is an attribute used
        in the Detector_Window class. It identifies the band coordinate
        of the lower right corner of a specific window.
        </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="lr_corner_line">
    <xs:annotation>
      <xs:documentation>The lr_corner_line element is an attribute used
        in the Detector_Window class. It identifies the line coordinate
        of the lower right corner of a specific window.
        </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="mean_body_angular_semidiameter_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="mean_body_angular_semidiameter">
    <xs:annotation>
      <xs:documentation>The mean equatorial angular radius of the body
        as seen by the spacecraft</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:mean_body_angular_semidiameter_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="mean_body_phase_angle_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="mean_body_phase_angle">
    <xs:annotation>
      <xs:documentation>The mean angle between the radial vector of the
        spacecraft and the radial vector of the Sun, from the center of
        the body. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:mean_body_phase_angle_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="mean_boresight_latitude_zpd_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="mean_boresight_latitude_zpd">
    <xs:annotation>
      <xs:documentation>The mean planetographic latitude of the
        boresight at the ZPD time.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:mean_boresight_latitude_zpd_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="mean_boresight_local_time">
    <xs:annotation>
      <xs:documentation>The mean local solar time in hours since
        midnight.</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="mean_boresight_longitude_zpd_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="mean_boresight_longitude_zpd">
    <xs:annotation>
      <xs:documentation>The mean west longitude of the boresight at the
        ZPD time.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:mean_boresight_longitude_zpd_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="mean_boresight_right_ascension_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="mean_boresight_right_ascension">
    <xs:annotation>
      <xs:documentation>The mean right ascension of the boresight in the
        J2000 coordinate system.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:mean_boresight_right_ascension_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="mean_boresight_solar_phase_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="mean_boresight_solar_phase">
    <xs:annotation>
      <xs:documentation>The mean angle between the direction vector of
        the Sun and the normal to the surface at the point at which the
        boresight intersects the surface. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:mean_boresight_solar_phase_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="mean_boresight_solar_zenith_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="mean_boresight_solar_zenith">
    <xs:annotation>
      <xs:documentation>The mean angle between the direction vector of
        the Sun and the normal to the surface at the point at which the
        boresight intersects the surface.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:mean_boresight_solar_zenith_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="mean_emission_angle_fov_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="mean_emission_angle_fov">
    <xs:annotation>
      <xs:documentation>The average of the values of the emission angle
        (angle between the surface normal and the spacecraft direction)
        over the field of view. Unit is degrees. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:mean_emission_angle_fov_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="mean_ring_boresight_emission_angle_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-200"/>
     <xs:maxInclusive value="180"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="mean_ring_boresight_emission_angle">
    <xs:annotation>
      <xs:documentation>The emission angle, the angle between the
        surface normal vector at the intercept point and a vector from
        the intercept point to the spacecraft, measured at the
        intersection of the boresight and the ring plane.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:mean_ring_boresight_emission_angle_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="mean_ring_boresight_local_time_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0."/>
     <xs:maxInclusive value="24."/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="mean_ring_boresight_local_time">
    <xs:annotation>
      <xs:documentation>The local solar time at the intersection of the
        boresight and the ring plane in the primary's coordinate system.
        Unit is fractional hours since midnight. Example : if the local
        time is 03:45:10 (HH:MM:SS) it will be stored as 3.4527778.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:mean_ring_boresight_local_time_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="mean_ring_boresight_longitude_zpd_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="360"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="mean_ring_boresight_longitude_zpd">
    <xs:annotation>
      <xs:documentation>The mean_ring_boresight_longitude_zpd, is the
        longitude of the intersection of the boresight and the ring
        plane at the ZPD time. Longitudes are measured eastwards in an
        inertial frame from the intersection of the ascending node of
        the ring plane on the Earth’s mean equator of J2000.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:mean_ring_boresight_longitude_zpd_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="mean_ring_boresight_radius_zpd_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="mean_ring_boresight_radius_zpd">
    <xs:annotation>
      <xs:documentation>The mean_ring_boresight_radius_zpd, is the ring
        radius, in km, of the intersection of the boresight and the ring
        plane at the ZPD time. Ring radius is measured from the center
        of mass of the planet along the nominal ring plane.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:mean_ring_boresight_radius_zpd_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="mean_ring_boresight_solar_phase_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="180"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="mean_ring_boresight_solar_phase">
    <xs:annotation>
      <xs:documentation>The mean_ring_boresight_solar_phase is The mean
        angle between a vector to the Sun and the boresight vector,
        measured at the point at which the boresight vector intersects
        the ring plane. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:mean_ring_boresight_solar_phase_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="mean_ring_boresight_solar_zenith_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="180"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="mean_ring_boresight_solar_zenith">
    <xs:annotation>
      <xs:documentation>The mean_ring_boresight_solar_zenith is the
        angle between the direction vector of the Sun and the normal to
        the ring plane at the point at which the boresight intersects
        the ring plane. Unit is degrees. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:mean_ring_boresight_solar_zenith_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="mean_ring_boresight_spacecraft_range_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="mean_ring_boresight_spacecraft_range">
    <xs:annotation>
      <xs:documentation>The mean_ring_boresight_spacecraft_range, is the
        distance from the intersection of the boresight with the ring
        plane to the space-craft. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:mean_ring_boresight_spacecraft_range_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="method_description">
    <xs:annotation>
      <xs:documentation>The method_description element describes the
        method used to perform a particular
        observation.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Text_Collapsed">
     <xs:minLength value="1"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="missing_lines">
    <xs:annotation>
      <xs:documentation>The missing_lines element is the total number of
        lines of data missing from an image or observation when it was
        received on Earth. Note: For Cassini, this provides the number
        of missing or incomplete lines of image data. A value of -1
        indicates that the value in the original PDS3 label was N/A.
        </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="missing_packet_flag">
    <xs:annotation>
      <xs:documentation>The missing_packet_flag element indicates
        whether or not there were telemetry packets that were expected
        but not received. </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="missing_pixels">
    <xs:annotation>
      <xs:documentation>The missing_pixels element provides the number
        of pixels missing from an image or observation. Note: For
        Cassini, this refers to the core of a spectral cube, which
        indicates that the expected number of pixels (as determined by
        the commanded cube dimensions) did not arrive. The positions of
        these pixels are filled with CORE_NULL. Pixels purposefully set
        to CORE_NULL (e.g., due to time insertion) are not included in
        this total.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="mission_phase_name">
    <xs:annotation>
      <xs:documentation>The mission_phase_name identifies a time period
        within the mission.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Preserved">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="native_start_time">
    <xs:annotation>
      <xs:documentation>Ephemeris time in seconds past J2000 at the
        beginning of a time period of interest.</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="native_stop_time">
    <xs:annotation>
      <xs:documentation>Ephemeris time in seconds past J2000 at the end
        of a time period of interest.</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="nonlinearity_correction_flag">
    <xs:annotation>
      <xs:documentation> The nonlinearity_correction_flag indicates
        whether the nonlinearity correction option was selected. It
        compensates for the non-linear response of the CCD, where the
        relationship between incoming light and recorded DN isn't
        perfectly proportional. </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_id">
    <xs:annotation>
      <xs:documentation>The observation_id element uniquely identifies a
        scientific 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="occultation_port_state">
    <xs:annotation>
      <xs:documentation>The state of the occultation port covering 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="odc_id">
    <xs:annotation>
      <xs:documentation>The observation description command, the ID of
        the command sequence sent to the UVIS instrument to generate
        observations.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="offset_flag">
    <xs:annotation>
      <xs:documentation>The offset_flag element indicates whether an
        offset was used to shift or displace a data value. Note: For
        Cassini, this indicates whether an Occultation Mode spectral
        cube used the commanded X_OFFSET and Z_OFFSET ('OFF') or used
        offsets calculated by the flight software from the non-
        Occultation Mode spectral cube ('ON').</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="optics_temperature_back_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-999"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="optics_temperature_back">
    <xs:annotation>
      <xs:documentation>The optics_temperature_back element provides the
        temperature of the ISS back optics. A value of -999 indicates
        that the information was not available in the original PDS3
        label, or is Not applicable Note that there is no rear optics
        temperature for the WAC camera, so when INSTRUMENT_ID = ISSWA,
        the value for optics_temperature_back will be –999.0.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:optics_temperature_back_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

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

  <xs:complexType name="optics_temperature_front">
    <xs:annotation>
      <xs:documentation>The optics_temperature_front element provides
        the temperature of the ISS front optics. A value of -999
        indicates that the information was not available in the original
        PDS3 label. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:optics_temperature_front_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="optics_temperature_ir_1_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="optics_temperature_ir_1">
    <xs:annotation>
      <xs:documentation>The optics_temperature_ir_1 element provides the
        temperature of the VIMS primary IR optics. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:optics_temperature_ir_1_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="optics_temperature_ir_2_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="optics_temperature_ir_2">
    <xs:annotation>
      <xs:documentation>The optics_temperature_ir_2 element provides the
        temperature of the VIMS secondary IR optics. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:optics_temperature_ir_2_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="optics_temperature_vis_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="optics_temperature_vis">
    <xs:annotation>
      <xs:documentation>The optics_temperature_vis element provides the
        temperature of the VIMS visual optics. Note: If the channel
        wasn't used, the respective value(s) were set to -999.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:optics_temperature_vis_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 element, if present, is the
        value assigned by the mission for the orbit number associated
        with the observation. Note due to the need to redesignate some
        early orbits, there are orbits for which the number includes
        letters.</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="order_number">
    <xs:annotation>
      <xs:documentation>The order_number element is a unique
        system_generated number which is used to identify the order in
        which observations were executed. A value of -999 indicates that
        the information was not available in the original PDS3 label.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-999"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="overwritten_channel_flag">
    <xs:annotation>
      <xs:documentation>The overwritten_channel_flag element indicates
        whether spectral data was sacrificed in lieu of more precise
        timing information. Note: For Cassini, if the flag is set to
        'On', the observation time values are collected for each pixel
        and stored in the backplanes of the spectral cube. The spectral
        data in channels 347-352 will be set to the value
        -8192.</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="packing_flag">
    <xs:annotation>
      <xs:documentation>The packing_flag element indicates whether
        multiple spectral cubes were packed and stored as a single
        spectral cube product, due to their small size and lack of
        unique timing information.</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="parallel_clock_voltage_index">
    <xs:annotation>
      <xs:documentation>The parallel_clock_voltage_index element
        provides the commanded parallel clock voltage value which
        controls clocking frequency. A value of -1 indicates that the
        information was not available in the original PDS3 label.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-1"/>
     <xs:maxInclusive value="15"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="parameter_set_id">
    <xs:annotation>
      <xs:documentation>The parameter_set_id element identifies the
        parameter set which was used to produce the data file. Note: For
        Cassini VIMS, is based on the 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="pds3_product_creation_time">
    <xs:annotation>
      <xs:documentation>The pds3_product_creation_time element provides
        the creation time of the original PDS3 product. It is included
        in the label for historical reasons.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Date_Time_DOY">
  <!-- format="YYYY-DOYTHH:MM:SS.SSSSSS(Z)" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="pds3_product_version_type">
    <xs:annotation>
      <xs:documentation>The pds3_product_version_type element provides
        the instrument teams internal version type of the original PDS3
        products. In products submitted to PDS, the only value for this
        keyword is FINAL. This attribute is included in the PDS4 label
        for historical reasons. </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="pds3_target_desc">
    <xs:annotation>
      <xs:documentation>The pds3_target_desc element provides the value
        for TARGET_DESC given in the PDS3 label. The name of the
        intended target for which the exposure was calculated/selected
        in the given image. May include calibration type information.
        This frequently provides a more accurate clue to the actual
        target than does the PDS3 keyword TARGET_NAME. For many
        observations (e.g., those targeted at the rings) neither gives
        the correct information). </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="pds3_target_list">
    <xs:annotation>
      <xs:documentation>The pds3_target_list element corresponds to
        TARGET_LIST in the PDS3 label. TARGET_LIST was intended to
        provide a list of all known targets in the image field-of-view.
        However this was not provided, so the only value for this
        keyword is N/A. This attribute is included in the PDS4 label for
        historical reasons. For lists of all know targets in the FoV of
        each image see the *_inventory.tab files in this collection (*
        is either cruise or saturn). </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="pds3_target_name">
    <xs:annotation>
      <xs:documentation>The pds3_target_name element provides the value
        for TARGET_NAME given in the PDS3 label. The name of the
        intended target based on the Predicted Events File (PEF). For
        many observations the value is not the actual target (e.g., it
        may indicate Saturn, while the observation was of some other
        target based on an offset from Saturn). The most accurate,
        though potentially flawed identification of the intended target
        is given in the Target_Identification class elsewhere in the
        label. This attribute is included in the PDS4 label for
        historical reasons. </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="pointperspective_max_footprint_height_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="pointperspective_max_footprint_height">
    <xs:annotation>
      <xs:documentation> The PDS3 name for this attribute was
        CSS:MAX_FOOTPRINT_LINE (with MAP_PROJECTION_TYPE =
        POINT_PERSPECTIVE), and was defined as "Maximum size of
        footprints along the line axis". The meaning of this is unclear,
        but we believe it means the (angular) length along the vertical
        direction of the largest footprint (a CIRS detector) on the
        pixel grid, and have renamed it in PDS4 accordingly as
        pointperspective_max_footprint_height. The equirectangular
        projection only includes fields of view which fall on the target
        body and thus does not preserve spectra taken off the limb of
        the target (which are important at Saturn or Titan, for
        example), and also does not preserve the original viewing
        geometry of the observation. We therefore also generate point
        perspective projection cubes, which approximate the appearance
        of the target body in the plane of the sky as seen from the
        spacecraft, and preserve spectra of the limb regions and the
        surrounding regions of deep space. The line coordinate is the
        scaled offset from the body center, in the direction of
        increasing J2000 Declination, in milliradians. To generate these
        cubes, the field of view of each spectrum is first expressed as
        an offset, in milliradians, from the instantaneous direction of
        the target body center. The sample coordinate is the offset in
        the direction of decreasing J2000 Right Ascension, and the line
        coordinate is the offset in the direction of increasing J2000
        Declination. To correct for the changing distance to the target
        during the activity, these offsets are then multiplied by the
        ratio of the distance to the target body center at the time of
        the observation to the distance to the target body center at the
        start of the observation, so that the apparent size of the body
        is constant with time. The resulting scaled offsets for each
        field of view are then projected onto the cube grid and averaged
        as described in Table 4.1 of the CIRS Cube SIS. Fields of view
        further than 3 times the angular size of the target are not
        included in the cube, in order to limit the cube size. We have
        not generated point perspective projections for the ring
        observations because few ring observations were taken in a way
        that would make point perspective images useful. CAVEAT USOR:
        Several examples of CIRS cubes do not appear to correctly
        identify their min/max footprint width/heights. For example,
        some using equirectangular projection list their max footprint
        width as 360 deg, even when there is no wrapping.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:pointperspective_max_footprint_height_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="pointperspective_max_footprint_width_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="pointperspective_max_footprint_width">
    <xs:annotation>
      <xs:documentation> The PDS3 name for this attribute was
        CSS:MAX_FOOTPRINT_SAMPLE (with MAP_PROJECTION_TYPE =
        POINT_PERSPECTIVE), and was defined as "Maximum size of
        footprints along the sample axis". The meaning of this is
        unclear, but we believe it means the (angular) length along the
        horizontal direction of the largest footprint (a CIRS detector)
        on the pixel grid, and have renamed it in PDS4 accordingly as
        pointperspective_max_footprint_width. The equirectangular
        projection only includes fields of view which fall on the target
        body and thus does not preserve spectra taken off the limb of
        the target (which are important at Saturn or Titan, for
        example), and also does not preserve the original viewing
        geometry of the observation. We therefore also generate point
        perspective projection cubes, which approximate the appearance
        of the target body in the plane of the sky as seen from the
        spacecraft, and preserve spectra of the limb regions and the
        surrounding regions of deep space. The sample coordinate is the
        scaled offset from the body center, in the direction of
        decreasing J2000 Right Ascension, in milliradians. To generate
        these cubes, the field of view of each spectrum is first
        expressed as an offset, in milliradians, from the instantaneous
        direction of the target body center. The sample coordinate is
        the offset in the direction of decreasing J2000 Right Ascension,
        and the line coordinate is the offset in the direction of
        increasing J2000 Declination. To correct for the changing
        distance to the target during the activity, these offsets are
        then multiplied by the ratio of the distance to the target body
        center at the time of the observation to the distance to the
        target body center at the start of the observation, so that the
        apparent size of the body is constant with time. The resulting
        scaled offsets for each field of view are then projected onto
        the cube grid and averaged as described in Table 4.1 of the CIRS
        Cube SIS. Fields of view further than 3 times the angular size
        of the target are not included in the cube, in order to limit
        the cube size. We have not generated point perspective
        projections for the ring observations because few ring
        observations were taken in a way that would make point
        perspective images useful. CAVEAT USOR: Several examples of CIRS
        cubes do not appear to correctly identify their min/max
        footprint width/heights. For example, some using equirectangular
        projection list their max footprint width as 360 deg, even when
        there is no wrapping. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:pointperspective_max_footprint_width_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="pointperspective_min_footprint_height_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="pointperspective_min_footprint_height">
    <xs:annotation>
      <xs:documentation> The PDS3 name for this attribute was
        CSS:MIN_FOOTPRINT_LINE (with MAP_PROJECTION_TYPE =
        POINT_PERSPECTIVE), and was defined as "Minimum size of
        footprints along the line axis". The meaning of this is unclear,
        but we believe it means the (angular) length along the vertical
        direction of the smallest footprint (a CIRS detector) on the
        pixel grid, and have renamed it in PDS4 accordingly as
        pointperspective_min_footprint_height. The equirectangular
        projection only includes fields of view which fall on the target
        body and thus does not preserve spectra taken off the limb of
        the target (which are important at Saturn or Titan, for
        example), and also does not preserve the original viewing
        geometry of the observation. We therefore also generate point
        perspective projection cubes, which approximate the appearance
        of the target body in the plane of the sky as seen from the
        spacecraft, and preserve spectra of the limb regions and the
        surrounding regions of deep space. The line coordinate is the
        scaled offset from the body center, in the direction of
        increasing J2000 Declination, in milliradians. To generate these
        cubes, the field of view of each spectrum is first expressed as
        an offset, in milliradians, from the instantaneous direction of
        the target body center. The sample coordinate is the offset in
        the direction of decreasing J2000 Right Ascension, and the line
        coordinate is the offset in the direction of increasing J2000
        Declination. To correct for the changing distance to the target
        during the activity, these offsets are then multiplied by the
        ratio of the distance to the target body center at the time of
        the observation to the distance to the target body center at the
        start of the observation, so that the apparent size of the body
        is constant with time. The resulting scaled offsets for each
        field of view are then projected onto the cube grid and averaged
        as described in Table 4.1 of the CIRS Cube SIS. Fields of view
        further than 3 times the angular size of the target are not
        included in the cube, in order to limit the cube size. We have
        not generated point perspective projections for the ring
        observations because few ring observations were taken in a way
        that would make point perspective images useful. CAVEAT USOR:
        Several examples of CIRS cubes do not appear to correctly
        identify their min/max footprint width/heights. For example,
        some using equirectangular projection list their max footprint
        width as 360 deg, even when there is no wrapping.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:pointperspective_min_footprint_height_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="pointperspective_min_footprint_width_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="pointperspective_min_footprint_width">
    <xs:annotation>
      <xs:documentation> The PDS3 name for this attribute was
        CSS:MIN_FOOTPRINT_SAMPLE (with MAP_PROJECTION_TYPE =
        POINT_PERSPECTIVE), and was defined as "Minimum size of
        footprints along the sample axis". The meaning of this is
        unclear, but we believe it means the (angular) length along the
        horizontal direction of the smallest footprint (a CIRS detector)
        on the pixel grid, and have renamed it in PDS4 accordingly as
        pointperspective_min_footprint_width. The equirectangular
        projection only includes fields of view which fall on the target
        body and thus does not preserve spectra taken off the limb of
        the target (which are important at Saturn or Titan, for
        example), and also does not preserve the original viewing
        geometry of the observation. We therefore also generate point
        perspective projection cubes, which approximate the appearance
        of the target body in the plane of the sky as seen from the
        spacecraft, and preserve spectra of the limb regions and the
        surrounding regions of deep space. The sample coordinate is the
        scaled offset from the body center, in the direction of
        decreasing J2000 Right Ascension, in milliradians. To generate
        these cubes, the field of view of each spectrum is first
        expressed as an offset, in milliradians, from the instantaneous
        direction of the target body center. The sample coordinate is
        the offset in the direction of decreasing J2000 Right Ascension,
        and the line coordinate is the offset in the direction of
        increasing J2000 Declination. To correct for the changing
        distance to the target during the activity, these offsets are
        then multiplied by the ratio of the distance to the target body
        center at the time of the observation to the distance to the
        target body center at the start of the observation, so that the
        apparent size of the body is constant with time. The resulting
        scaled offsets for each field of view are then projected onto
        the cube grid and averaged as described in Table 4.1 of the CIRS
        Cube SIS. Fields of view further than 3 times the angular size
        of the target are not included in the cube, in order to limit
        the cube size. We have not generated point perspective
        projections for the ring observations because few ring
        observations were taken in a way that would make point
        perspective images useful. CAVEAT USOR: Several examples of CIRS
        cubes do not appear to correctly identify their min/max
        footprint width/heights. For example, some using equirectangular
        projection list their max footprint width as 360 deg, even when
        there is no wrapping. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:pointperspective_min_footprint_width_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="power_state_flag_ir">
    <xs:annotation>
      <xs:documentation>The power_state_flag_ir element indicates
        whether the infrared channel is turned on or
        off."</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="power_state_flag_vis">
    <xs:annotation>
      <xs:documentation>The power_state_flag_vis element indicates
        whether the visible channel is turned on or
        off."</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="pre-pds_version_number">
    <xs:annotation>
      <xs:documentation>The pre-pds_version_number element provides the
        version number product used internally by the provider. For ISS,
        the value was included in the PDS3 product filenames, but is not
        included in the PDS4 filenames. This attribute preserves the
        information primarily for historical reasons since only one of
        the internal versions of any ISS product was delivered to PDS.
        The internal versions were used because the same image may have
        been built multiple times due to multiple downlinks, or multiple
        TDS queries, etc. In every case, the best available internal
        version was the version submitted to PDS. </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="prepare_cycle_index">
    <xs:annotation>
      <xs:documentation>The prepare_cycle_index element provides the
        element number within the Prepare Cycle table selected for this
        image. Prepare cycles include activities carried on within an
        instrument between sequential data acquisition and CCD readout
        operations. This includes such things as light flooding and
        erasure of the CCD and filter wheel stepping. Note: for Cassini,
        the Prepare Cycle table provides a translation of these values
        into cycle durations in seconds.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="15"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="radiometric_correction_text">
    <xs:annotation>
      <xs:documentation> A text field that provides a detailed summary
        of the radiometric corrections applied during image calibration.
        This includes information about: - Efficiency factors used in
        the flux conversion (transmission, quantum efficiency) -
        Filter-specific absolute correction factors - Sensitivity versus
        time corrections if applied - Division by efficiency factor
        values - Solar spectrum or other spectrum files used for I/F
        conversion - Temperature-dependent corrections The text is
        automatically generated by CISSCAL during the calibration
        process and is updated at each step where radiometric
        corrections are applied. Each entry typically includes both the
        type of correction and the specific numerical values or
        filenames used. This field is particularly important for tracing
        the exact calibration steps and parameters applied to reach the
        final calibrated values. </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_cycle_index">
    <xs:annotation>
      <xs:documentation>The readout_cycle_index element provides the
        element number within the Readout Cycle table selected for this
        image. The readout cycle of an instrument involves that part of
        its function involved in reading the light values out of a CCD
        array. Note: for Cassini, the Readout Cycle table provides a
        translation of these values into cycle durations in seconds. A
        value of -1 indicates that the information was not available in
        the original PDS3 label. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-1"/>
     <xs:maxInclusive value="15"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="received_packets">
    <xs:annotation>
      <xs:documentation>The received_packets element provides the total
        number of telemetry packets which constitute a reconstructed
        data product. A value of -1 indicates that the information was
        not available in the original PDS3 label. </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="reference_time_utc">
    <xs:annotation>
      <xs:documentation>reference_time_utc provides a date and time in
        UTC format. Given in a label when time values in a table are
        given as elapsed seconds offset from a reference time. Unless
        there are compelling reasons to do otherwise, reference_time_utc
        should correspond to the start of a day. Required anytime a
        table field is given relative to a specific date and time other
        than when Barycentric Dynamical Time is used (e.g.,
        observed_event_tdb). </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="ringpolar_max_footprint_height_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="ringpolar_max_footprint_height">
    <xs:annotation>
      <xs:documentation> The PDS3 name for this attribute was
        CSS:MAX_FOOTPRINT_LINE (with MAP_PROJECTION_TYPE = RING_POLAR),
        and was defined as "Maximum size of footprints along the line
        axis". The meaning of this is unclear, but we believe it means
        the (angular) length along the vertical direction of the largest
        footprint (a CIRS detector) on the pixel grid, in units of hrs,
        and have renamed it in PDS4 accordingly as
        ringpolar_max_footprint_height. TThe ring polar, also known as
        ring radius/local time, projection is used for observations of
        Saturn's rings. The representation of ring data requires a
        unique projection. The rings are modeled by a thin disk centered
        on Saturn and in its equatorial plane, with an outer radius of
        500,000km. If the field of view falls partially or completely
        beyond this limit or if it intersects the primary body before
        intersecting the rings, the data will not be included. If A is
        the location of the intersection of the CIRS field of view with
        Saturn’s equatorial plane, the sample coordinate is the distance
        of A from the center of Saturn (in units of km), and the line
        coordinate is the local time on Saturn at the intersection with
        Saturn’s surface of the line between A and Saturn’s center.
        Local time is expressed in fractional hours, from 0.0 (at
        midnight) to 12.0 (at noon), to 24.0 (at midnight). We have not
        generated point perspective projections for the ring
        observations because few ring observations were taken in a way
        that would make point perspective images useful. CAVEAT USOR:
        Several examples of CIRS cubes do not appear to correctly
        identify their min/max footprint width/heights. For example,
        some using equirectangular projection list their max footprint
        width as 360 deg, even when there is no wrapping.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:ringpolar_max_footprint_height_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="ringpolar_max_footprint_width_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="ringpolar_max_footprint_width">
    <xs:annotation>
      <xs:documentation> The PDS3 name for this attribute was
        CSS:MAX_FOOTPRINT_SAMPLE (with MAP_PROJECTION_TYPE =
        RING_POLAR), and was defined as "Maximum size of footprints
        along the sample axis". The meaning of this is unclear, but we
        believe it means the length along the horizontal direction of
        the largest footprint (a CIRS detector) on the pixel grid, and
        have renamed it in PDS4 accordingly as
        ringpolar_max_footprint_width. TThe ring polar, also known as
        ring radius/local time, projection is used for observations of
        Saturn's rings. The representation of ring data requires a
        unique projection. The rings are modeled by a thin disk centered
        on Saturn and in its equatorial plane, with an outer radius of
        500,000km. If the field of view falls partially or completely
        beyond this limit or if it intersects the primary body before
        intersecting the rings, the data will not be included. If A is
        the location of the intersection of the CIRS field of view with
        Saturn’s equatorial plane, the sample coordinate is the distance
        of A from the center of Saturn (in units of km), and the line
        coordinate is the local time on Saturn at the intersection with
        Saturn’s surface of the line between A and Saturn’s center.
        Local time is expressed in fractional hours, from 0.0 (at
        midnight) to 12.0 (at noon), to 24.0 (at midnight). We have not
        generated point perspective projections for the ring
        observations because few ring observations were taken in a way
        that would make point perspective images useful. CAVEAT USOR:
        Several examples of CIRS cubes do not appear to correctly
        identify their min/max footprint width/heights. For example,
        some using equirectangular projection list their max footprint
        width as 360 deg, even when there is no wrapping.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:ringpolar_max_footprint_width_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="ringpolar_min_footprint_height_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="ringpolar_min_footprint_height">
    <xs:annotation>
      <xs:documentation> The PDS3 name for this attribute was
        CSS:MIN_FOOTPRINT_LINE (with MAP_PROJECTION_TYPE = RING_POLAR),
        and was defined as "Minimum size of footprints along the line
        axis". The meaning of this is unclear, but we believe it means
        the (angular) length along the vertical direction of the
        smallest footprint (a CIRS detector) on the pixel grid, and have
        renamed it in PDS4 accordingly as
        ringpolar_min_footprint_height. TThe ring polar, also known as
        ring radius/local time, projection is used for observations of
        Saturn's rings. The representation of ring data requires a
        unique projection. The rings are modeled by a thin disk centered
        on Saturn and in its equatorial plane, with an outer radius of
        500,000km. If the field of view falls partially or completely
        beyond this limit or if it intersects the primary body before
        intersecting the rings, the data will not be included. If A is
        the location of the intersection of the CIRS field of view with
        Saturn’s equatorial plane, the sample coordinate is the distance
        of A from the center of Saturn (in units of km), and the line
        coordinate is the local time on Saturn at the intersection with
        Saturn’s surface of the line between A and Saturn’s center.
        Local time is expressed in fractional hours, from 0.0 (at
        midnight) to 12.0 (at noon), to 24.0 (at midnight). We have not
        generated point perspective projections for the ring
        observations because few ring observations were taken in a way
        that would make point perspective images useful. CAVEAT USOR:
        Several examples of CIRS cubes do not appear to correctly
        identify their min/max footprint width/heights. For example,
        some using equirectangular projection list their max footprint
        width as 360 deg, even when there is no wrapping.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:ringpolar_min_footprint_height_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="ringpolar_min_footprint_width_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="ringpolar_min_footprint_width">
    <xs:annotation>
      <xs:documentation> The PDS3 name for this attribute was
        CSS:MIN_FOOTPRINT_SAMPLE (with MAP_PROJECTION_TYPE =
        RING_POLAR), and was defined as "Minimum size of footprints
        along the sample axis". The meaning of this is unclear, but we
        believe it means the length along the horizontal direction of
        the smallest footprint (a CIRS detector) on the pixel grid, and
        have renamed it in PDS4 accordingly as
        ringpolar_min_footprint_width. TThe ring polar, also known as
        ring radius/local time, projection is used for observations of
        Saturn's rings. The representation of ring data requires a
        unique projection. The rings are modeled by a thin disk centered
        on Saturn and in its equatorial plane, with an outer radius of
        500,000km. If the field of view falls partially or completely
        beyond this limit or if it intersects the primary body before
        intersecting the rings, the data will not be included. If A is
        the location of the intersection of the CIRS field of view with
        Saturn’s equatorial plane, the sample coordinate is the distance
        of A from the center of Saturn (in units of km), and the line
        coordinate is the local time on Saturn at the intersection with
        Saturn’s surface of the line between A and Saturn’s center.
        Local time is expressed in fractional hours, from 0.0 (at
        midnight) to 12.0 (at noon), to 24.0 (at midnight). We have not
        generated point perspective projections for the ring
        observations because few ring observations were taken in a way
        that would make point perspective images useful. CAVEAT USOR:
        Several examples of CIRS cubes do not appear to correctly
        identify their min/max footprint width/heights. For example,
        some using equirectangular projection list their max footprint
        width as 360 deg, even when there is no wrapping.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:ringpolar_min_footprint_width_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="sample_center">
    <xs:annotation>
      <xs:documentation>For equirectangular cubes, this is the West
        longitude of the pixel center, in degrees. For point perspective
        cubes, it is the scaled offset from the body center, in the
        direction of decreasing J2000 Right Ascension, in
        milliradians.</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="sample_name">
    <xs:annotation>
      <xs:documentation>Coordinate name for the sample
        axis</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="sampling_mode_id_ir">
    <xs:annotation>
      <xs:documentation>The sampling_mode_id_ir element identifies the
        resolution mode of the infrared 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="sampling_mode_id_vis">
    <xs:annotation>
      <xs:documentation>The sampling_mode_id_vis element identifies the
        resolution mode of the visible 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="scan_mode_id">
    <xs:annotation>
      <xs:documentation>The scan_mode_id element 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="sensor_head_electronics_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="sensor_head_electronics_temperature">
    <xs:annotation>
      <xs:documentation>The sensor_head_electronics_temperature element
        provides the temperature of the sensor head
        electronics.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:sensor_head_electronics_temperature_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Temperature" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="sequence_id">
    <xs:annotation>
      <xs:documentation>TThe sequence_id element provides an
        identification of the spacecraft sequence associated with the
        given 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="sequence_number">
    <xs:annotation>
      <xs:documentation>The sequence_number element indicates a number
        designating the place occupied by an item in an ordered
        sequence. A value of -1 indicates that the information was not
        available in the original PDS3 label. </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="sequence_title">
    <xs:annotation>
      <xs:documentation>The sequence_title element provides the team
        lead assigned title, if any, to a particular observation
        sequence of which this image was a part. </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="shutter_mode_id">
    <xs:annotation>
      <xs:documentation>The shutter_mode_id element identifies the state
        of an imaging instrument's shutter during image acquisition.
        Note: the instrument shutter mode affects the radiometric
        properties of the camera.</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="shutter_offset_file_name">
    <xs:annotation>
      <xs:documentation> The name of the calibration file used to
        correct for sample-dependent shutter timing effects during
        exposure time calculations. These files contain
        position-specific timing offsets and are selected based on
        camera type (NAC/WAC) and optics temperature range (below -5°C,
        -5°C to 25°C, or above 25°C). The correction is applied during
        the DivideByExpoT step of radiometric calibration.
        </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="shutter_state_flag">
    <xs:annotation>
      <xs:documentation>The shutter_state_flag element indicates the
        state of of VIMS IR shutter at the time of an
        exposure.</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="shutter_state_id">
    <xs:annotation>
      <xs:documentation>The shutter_state_id element provides an
        indication of the state of an instrument's shutters at the time
        of an exposure.</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="slit_state">
    <xs:annotation>
      <xs:documentation>The position of the slit on the Cassini UVIS
        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="slope_file_name">
    <xs:annotation>
      <xs:documentation> The name of the flat field calibration file
        used to correct for pixel-to-pixel sensitivity variations in the
        detector. These files are stored in the "slope" subdirectory of
        the calibration support directory and contain multiplicative
        correction factors for each pixel. The appropriate file is
        selected automatically by CISSCAL based on two criteria: the
        filter combination used for the observation, and the temperature
        range of the optics (-5°C and below, -5°C to 25°C, or above
        25°C). The selection is managed through a database file called
        slope_db.tab, which maps filter combinations and temperature
        ranges to specific slope filenames. The slope files themselves
        are in VICAR format and contain a 1024x1024 array (for
        full-frame images) of floating-point correction factors that are
        divided into the image during the flat field correction step.
        </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="snapshot_mode_flag">
    <xs:annotation>
      <xs:documentation>The snapshot_mode_flag element indicates whether
        the instrument was to end data collection either after one
        instance or after the commanded duration.</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 element
        indicates the clock partition active for
        spacecraft_clock_start_count and spacecraft_clock_stop_count
        elements.</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="spacecraft_clock_start_count">
    <xs:annotation>
      <xs:documentation>The spacecraft_clock_start_count attribute
        provides the value of the spacecraft clock at the actual start
        of image acquisition. There may be small inconsistencies with
        start_date_time due to varying correlation between UTC and the
        spacecraft clock. For purposes of data analysis the spacecraft
        clock value should be used. The format of this field is
        compatible with the NAIF Toolkit software where s = seconds
        converted from the clock's coarse counter and m = seconds
        converted from the clock's fine counter.</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_stop_count">
    <xs:annotation>
      <xs:documentation>The spacecraft_clock_stop_count attribute
        provides the value of the spacecraft clock at the actual end of
        image acquisition. There may be small inconsistencies with
        stop_date_time due to varying correlation between UTC and the
        spacecraft clock. For purposes of data analysis the spacecraft
        clock value should be used. The format of this field is
        compatible with the NAIF Toolkit software where s = seconds
        converted from the clock's coarse counter and m = seconds
        converted from the clock's fine counter. A value of
        9999999999.99 indicates the information was not provided in the
        PDS3 label or index.</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="spectral_editing_flag">
    <xs:annotation>
      <xs:documentation>The spectral_editing_flag element indicates
        whether the spectral cube has been reduced to a subset of the
        bands in the original cube.</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="spectral_summing_flag">
    <xs:annotation>
      <xs:documentation>The spectral_summing_flag element indicates
        whether this cube has had its bands summed (in groups of 8) to
        reduce the SSR data volume. If so, each bin contains the sum of
        its group of 8. </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="start_time_doy">
    <xs:annotation>
      <xs:documentation>The start_time_doy element provides the time of
        shutter open. Calculated from spacecraft clock of shutter close
        less the exposure duration. Expressed in UTC format, and
        includes subRTI resolution. (A subRTI is approximately 4 msec
        (1/256 second)). When the shutter was inhibited (ie
        SHUTTER_STATE_ID=”DISABLED”), the START_TIME = STOP_TIME, and
        both represent the start of the exposure window during the
        prepare cycle of the image. This value corresponds to the value
        for start_date_time given in the Time Coordinates section of the
        label in the year day-of-year format of the original PDS3 label.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Date_Time_DOY">
  <!-- format="YYYY-DOYTHH:MM:SS.SSSSSS(Z)" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="stop_time_doy">
    <xs:annotation>
      <xs:documentation>The stop_time_doy element provides the time of
        shutter close from spacecraft clock (UTC). Identical to
        image_time. Includes subRTI resolution. (A subRTI is
        approximately 4 msec (1/256 second)). When the shutter was
        inhibited (ie SHUTTER_STATE_ID=”DISABLED”), the START_TIME =
        STOP_TIME, and both represent the start of the exposure window
        during the prepare cycle of the image. This value corresponds to
        the value for stop_date_time given in the Time Coordinates
        section of the label in the year day-of-year format of the
        original PDS3 label. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Date_Time_DOY">
  <!-- format="YYYY-DOYTHH:MM:SS.SSSSSS(Z)" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="swath_length_WO_Units">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="swath_length">
    <xs:annotation>
      <xs:documentation>The swath_length element provides the number of
        pixels (in the lines direction) collected for a spectral cube
        during an observation. Note: For Cassini, this will differ from
        CORE_ITEMS for Occultation Mode cubes.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:swath_length_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Misc" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="swath_width_WO_Units">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="swath_width">
    <xs:annotation>
      <xs:documentation>The swath_width element provides the number of
        pixels (in the samples direction) collected for a spectral cube
        during an observation. Note: For Cassini, this will differ from
        CORE_ITEMS for Occultation Mode cubes.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:swath_width_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Misc" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="telemetry_format_id">
    <xs:annotation>
      <xs:documentation>The telemetry_format_id element supplies a
        telemetry format code.</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="test_pulse_state">
    <xs:annotation>
      <xs:documentation>The state of the Cassini UVIS instrument's test
        pulse mechanism.</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="total_spectral_power">
    <xs:annotation>
      <xs:documentation>The integrated radiance under the power
        spectrum.</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="ul_corner_band">
    <xs:annotation>
      <xs:documentation>The ul_corner_band element is an attribute used
        in the Detector_Window class. It identifies the band coordinate
        of the upper left corner of a specific window.
        </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="ul_corner_line">
    <xs:annotation>
      <xs:documentation>The ul_corner_line element is an attribute used
        in the Detector_Window class. It identifies the line coordinate
        of the upper left corner of a specific window.
        </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="uneven_bit_weight_correction_flag">
    <xs:annotation>
      <xs:documentation> The uneven_bit_weight_correction_flag indicates
        whether the bit weight correction was applied to compensate for
        non-uniform weighting of bits in the digitized signal. This
        correction is: - Applied only to uncompressed, non-TABLE mode
        images - Skipped for lossy-encoded images where the effect is
        insignificant - Camera and gain-state dependent, using specific
        correction tables for: - NAC/WAC cameras - Gain states (0,1,2,3)
        - Temperature ranges (-10°C, +5°C, +25°C) The correction uses
        calibration tables derived from ground calibration exercises to
        convert raw DN values to their true linear representation. It is
        a critical early step in the calibration pipeline, typically
        performed after 8-to-12 bit conversion but before bias
        subtraction. </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="valid_maximum_DN_sat">
    <xs:annotation>
      <xs:documentation>The valid_maximum_DN_sat element indicates the
        maximum DN saturation level for the signal returned by the A/D
        converter. Valid values are 255 and 4095. A value of -1
        indicates that the information was not available in the original
        PDS3 label. </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="valid_maximum_full_well">
    <xs:annotation>
      <xs:documentation>The valid_maximum_full_well element indicates
        the minimum full well saturation level of the instrument, which
        is a function of INSTRUMENT_MODE_ID, INSTRUMENT_ID, and
        GAIN_MODE_ID, expressed as a DN value. This may exceed 4095.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="x_offset_WO_Units">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="x_offset">
    <xs:annotation>
      <xs:documentation>The x_offset element indicates a shift or
        displacement of a data value in the x-direction. Note: For
        Cassini, this refers to the commanded mirror offset (in the x
        direction) within the infrared normal resolution field of view.
        For visible and infrared, the actual data collection area will
        differ when not in normal resolution mode.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:x_offset_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Misc" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="z_offset_WO_Units">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="z_offset">
    <xs:annotation>
      <xs:documentation>The z_offset element indicates a shift or
        displacement of a data value in the z-direction. Note: For
        Cassini, this refers to the commanded mirror offset (in the z
        direction) within the infrared normal resolution field of view.
        For visible and infrared, the actual data collection area will
        differ when not in normal resolution mode.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="cassini:z_offset_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Misc" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:schema>
