<?xml version="1.0" encoding="UTF-8"?>
  <!-- PDS4 XML/Schema for Name Space Id:rings  Version:1.8.0.0 - Thu Feb 06 15:16:52 EST 2020 -->
  <!-- Generated from the PDS4 Information Model Version 1.12.0.0 - System Build 9b -->
  <!-- *** This PDS4 product schema is an operational deliverable. *** -->
  <!--                                                                           -->
  <!--               Dictionary Stack                                            -->
  <!-- 1.12.0.0 - pds: - Common Dictionary - N/A                                 -->
  <!-- 1.8.0.0 - rings: - Rings Dictionary - input_PDS4_RINGS_1C00_1800          -->
  <!--                                                                           -->
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://pds.nasa.gov/pds4/rings/v1"
    xmlns:rings="http://pds.nasa.gov/pds4/rings/v1"
    xmlns:pds="http://pds.nasa.gov/pds4/pds/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_1C00.xsd"/>
 
  <xs:annotation>
    <xs:documentation>
 
    	
    	2019 03 
    	  An issue within LDDTool means that currently the tool does not
    	  support referencing classes or attributes from other Discipline namespaces
    	  A fix to LDDTool is in work, but in the interim we borrow classes and 
    	  attributes from the geometry dictionary and redefine them here. The 
    	  blocks of such borrowed classes and attributes are preceded and followed 
    	  by xml comments which include '@@@'

          	
    	2018 07-17 

    	Classes borrowed from the geom namespace
    	  - Body_Ident_Base       -->   Body_Ident_Base      
    	  - Frame_Ident_Base      -->   Frame_Ident_Base     
    	  - Reference_Frame_Ident -->   Reference_Frame_Ident
    	  - Central_Body_Ident    -->   Central_Body_Ident   
    	  - Display_Direction

    	attributes borrowed from the geom namespace
    	  - body_spice_name
    	  - frame_spice_name
        - horizontal_display_axis
        - horizontal_display_direction
        - vertical_display_axis
        - vertical_display_direction

      Once LDDTool is repaired the preceding classes and attributes will be
      removed and the following will be valid.
    	   	
    	Classes used from the geom namespace
    	  - Body_Ident_Base
    	  - Reference_Frame_Ident
    	  - Central_Body_Ident
    	  - Display_Direction
    	  
    	Classes used from the pds namespace
    	  - Internal_Reference

    	Attributes used from the pds namespace
    	  - local_identifier_reference
    	  - sampling_parameter_name
    	  - sampling_parameter_unit
    	  - sampling_parameter_interval
    	  - description
    	  - name     (indirectly via classes from the geom namespace)
    	  - comment  (indirectly via classes from the geom namespace)
    	  
    	
      v1.2  2014-03-29
        -  Moved information from comments into definitions for all attributes. 
        -  Added source product, orbit number and sclk start/stop times. 
        -  Revised some enumerated value options, and corrected some nillable inconsistencies.
      v1.3.0  2015-01-23
        -  Updated to version 1.3.0.1 of IM.
        -  Added min/max_observed_event_time.
        -  Included reference_time_UTC as optional attribute for all profile labels.
        -  Revised some definitions.
      v1.4.0.0  2016-04-25
        -  This version was not released
        -  Updated to version 1.6.0.0 of IM.
        -  Corrected case errors in class and attribute names and enumerated values
        -  Changed several time attribute types from ASCII_Date_Time_UTC to ASCII_Date_Time_YMD_UTC
        -  revised several definitions
        -  Changed ring_occultation_direction to occultation_direction, and modified the definitions 
           for the values ingress and egress.
        -  Added the class Occultation_Time_Series.
        -  Combined Radio_Occultation and Stellar_Occultation into Occultation_Ring_Profile
        -  Renamed Radio_Occultation_Support to Occultation_Supplement
        -  Removed ring_observation_id and source_pds3_id from all classes except Occultation_Supplement.
        -  Added Schematron rules to make some optional attributes required based on the value of 
           occultation type (e.g., dsn_station_number if occultation_type = radio, sub_stellar_ring_azimuth
           if occultation_type = stellar).
        -  Reordered some attributes in Occultation_Time_Series.
        -  Reordered some attributes in Occultation_Supplement.
      v1.5.0.0  2017-04-12
        -  Changed schema location URLs to https
        -  Updated to version 1.8.0.0 of IM.
        -  Revised definition of pds3_source_id
        -  Corrected the definition of sub_stellar_ring_azimuth
        -  Changed the name of the umbrella class from Occultation to Ring_Moon_Systems
        -  Added Time_Series_Direction 
      v1.5.1.0  2017-08-09
        -  corrected minor formating errors for a few enumerated values
        -  Reinstated the ring_plane attribute in the Occultation_Ring_Profile and Occultation_Time_Series classes.      
      v1.6.0.0  2019-03-06
        -  Updated to version 1.9.0.0 of IM.
        -  Added the Ring_Model class and numerous classes and attributes to support it.
        -  Added the Orbital_Elements class.
        -  ring_event_tdb - changed the enumeration flag to false
        -  added optional description attribute to several classes 
        -  added classes to support ring mosaics: Ring_Reprojection and Reprojection_Geometry.
        -  added several attributes to support ring mosaics.  
        - Added Display_Direction including pds:local_identifier_reference with a cardinality of [0,*].  
        - Added the class Ring_Spectrum
        - Added attributes
          - emission angle
          - ring_intercept_resolution
          - ring_longitude_observed_minus_subsolar 
          - reflectivity
        - Added an optional pds.local_identifier attribute to most classes.
        -  As an interim bandaid(?) pending repair of LDDTool, added several classes
           and attributes 'borrowed' from the geometry dictionary and removed the 
           geom. prefixes to those classes in this dictionary. The affected classes
           are:
                - Body_Ident_Base       
                - Frame_Ident_Base  (not used explicitly when geom is referenced)    
                - Reference_Frame_Ident 
                - Central_Body_Ident    
        - Added Uniformly_Sampled_Radius based on Uniformly_Sampled_Wavelength from the sp namespace 
        - Made the use of ring_observation_id optional.
        - @@@ Need schematron rule to ensure values for axis_name correspond to entries in Axis_Array.name 
      v1.7.0.0  2019-03-07
        - Updated to version 1.10.0.0 of IM.
        - Removed the Rings_Supplement class.
        - Removed the ring_observation_id attribute.
        - Removed pds:Internal_Reference from the Body_Ident_Base and Frame_Ident_Base classes.
        - Added a SChematron definition for a value in reference_type in pds:Internal_Reference in Uniformly_Sampled_Radius
      v1.8.0.0  2020-01-28
        - Updated to version 1.12.0.0 of IM.
        - Made Ring_Moon_Systems class the only xsi element.
        - removed the attribute source_pds3_id and spice_filename
        - removed milable from orbit_number and along_track_timing.
        - Added attributes fresnel_scale, projected_star_diameter, sigma_projected_star_diameter, fractional_error_star_counts, 
          time_constant_type, time_constant, sigma_time_constant.
        - All 7 of the preceding were added as optional attributes in the Occultation_Time_Series class

    
    </xs:documentation>
  </xs:annotation>
 
  <xs:element name="Ring_Moon_Systems" type="rings:Ring_Moon_Systems"> </xs:element>

  <xs:complexType name="Body_Ident_Base">
    <xs:annotation>
      <xs:documentation>The Body_Ident_Base class provides multiple
        attributes that can be used to identify a physical object
        (spacecraft, planet instrument, transmitter, system barycenter,
        etc.). At least one must be used. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier" type="pds:local_identifier" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="body_spice_name" type="rings:body_spice_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="name" type="pds:name" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Central_Body_Ident">
    <xs:annotation>
      <xs:documentation>The Central_Body_Ident class uniquely identifies
        the body that is the central body associated with an observation
        (e.g., Saturn for Saturn system observations).
        </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="rings:Body_Ident_Base">
        <xs:sequence>
          <xs:element name="local_identifier" type="pds:local_identifier" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="body_spice_name" type="rings:body_spice_name" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="name" type="pds:name" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Central_Body_Parameters">
    <xs:annotation>
      <xs:documentation>This class provides the parameters used to
        generate a ring model which are specific to the central
        body.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="rings:Central_Body_Ident">
        <xs:sequence>
          <xs:element name="grav_ref_radius" type="rings:grav_ref_radius" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="j2" type="rings:j2" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="j4" type="rings:j4" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="j6" type="rings:j6" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="j8" type="rings:j8" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="pole_right_ascension_angle" type="rings:pole_right_ascension_angle" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="pole_right_ascension_angle_uncert" type="rings:pole_right_ascension_angle_uncert" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="pole_declination_angle" type="rings:pole_declination_angle" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="pole_declination_angle_uncert" type="rings:pole_declination_angle_uncert" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Display_Direction">
    <xs:annotation>
      <xs:documentation>The Display_Direction class specifies which two
        of the dimensions of an Array object should be displayed and how
        they should be displayed in the vertical (line) and horizontal
        (sample) dimensions of a display device. This class is a
        modification of the corresponding class in the Display
        Dictionary, and is redefined here for convenience. The
        local_identifier_reference is used to identify the array or
        arrays to which this iteration of the class applies. Multiple
        entries are permitted the settings in the iteration of
        Display_Direction apply to all of the referenced arrays.
        </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier" type="pds:local_identifier" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="local_identifier_reference" type="pds:local_identifier_reference" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="comment" type="pds:comment" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="horizontal_display_axis" type="rings:horizontal_display_axis" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="horizontal_display_direction" type="rings:horizontal_display_direction" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="vertical_display_axis" type="rings:vertical_display_axis" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="vertical_display_direction" type="rings:vertical_display_direction" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="rings:horizontal_display_direction = ('Left to Right', 'Right to Left')"/> -->
    <!-- <xs:assert test="rings:vertical_display_direction = ('Bottom to Top', 'Top to Bottom')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="Frame_Ident_Base">
    <xs:annotation>
      <xs:documentation>The Frame_Ident_Base class provides multiple
        attributes that can be used to identify a reference frame. At
        least one must be used. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier" type="pds:local_identifier" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="frame_spice_name" type="rings:frame_spice_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="name" type="pds:name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="comment" type="pds:comment" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Global_Model_Parameters">
    <xs:annotation>
      <xs:documentation>This class provides the general parameters used
        to generate a ring model.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier" type="pds:local_identifier" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Reference_Frame_Ident" type="rings:Reference_Frame_Ident" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="epoch_ring_fit_utc" type="rings:epoch_ring_fit_utc" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Normal_Mode_Parameters">
    <xs:annotation>
      <xs:documentation>This class provides the normal mode parameters
        is one is present in the described ring.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier" type="pds:local_identifier" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="normal_mode_amplitude" type="rings:normal_mode_amplitude" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="normal_mode_amplitude_uncert" type="rings:normal_mode_amplitude_uncert" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="normal_mode_phase" type="rings:normal_mode_phase" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="normal_mode_phase_uncert" type="rings:normal_mode_phase_uncert" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="normal_mode_pattern_speed" type="rings:normal_mode_pattern_speed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="normal_mode_pattern_speed_uncert" type="rings:normal_mode_pattern_speed_uncert" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="normal_mode_wavenumber" type="rings:normal_mode_wavenumber" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Occultation_Ring_Profile">
    <xs:annotation>
      <xs:documentation>This class replaces the Radio_Occultation and
        Stellar_Occultation classes. It is used for all ring occultation
        profiles regardless of the occultation type. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier" type="pds:local_identifier" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="orbit_number" type="rings:orbit_number" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="sclk_start_time" type="rings:sclk_start_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sclk_stop_time" type="rings:sclk_stop_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="occultation_type" type="rings:occultation_type" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="occultation_direction" type="rings:occultation_direction" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ring_profile_direction" type="rings:ring_profile_direction" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="planetary_occultation_flag" type="rings:planetary_occultation_flag" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ring_plane" type="rings:ring_plane" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="star_name" type="rings:star_name" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="minimum_wavelength" type="rings:minimum_wavelength" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_wavelength" type="rings:maximum_wavelength" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="dsn_station_number" nillable="true" type="rings:dsn_station_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="frequency_band" type="rings:frequency_band" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="wavelength" type="rings:wavelength" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="radial_resolution" type="rings:radial_resolution" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="radial_sampling_interval" type="rings:radial_sampling_interval" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_radial_sampling_interval" type="rings:minimum_radial_sampling_interval" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_radial_sampling_interval" type="rings:maximum_radial_sampling_interval" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="reference_time_utc" type="rings:reference_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_observed_event_time" type="rings:minimum_observed_event_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_observed_event_time" type="rings:maximum_observed_event_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="observed_event_start_time_utc" type="rings:observed_event_start_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="observed_event_stop_time_utc" type="rings:observed_event_stop_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="observed_event_start_tdb" type="rings:observed_event_start_tdb" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="observed_event_stop_tdb" type="rings:observed_event_stop_tdb" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_event_start_time_utc" type="rings:spacecraft_event_start_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_event_stop_time_utc" type="rings:spacecraft_event_stop_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ring_event_start_time_utc" type="rings:ring_event_start_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ring_event_stop_time_utc" type="rings:ring_event_stop_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ring_event_start_tdb" type="rings:ring_event_start_tdb" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ring_event_stop_tdb" type="rings:ring_event_stop_tdb" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="earth_received_start_time_utc" type="rings:earth_received_start_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="earth_received_stop_time_utc" type="rings:earth_received_stop_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_ring_radius" type="rings:minimum_ring_radius" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_ring_radius" type="rings:maximum_ring_radius" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_ring_longitude" type="rings:minimum_ring_longitude" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_ring_longitude" type="rings:maximum_ring_longitude" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_observed_ring_azimuth" type="rings:minimum_observed_ring_azimuth" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_observed_ring_azimuth" type="rings:maximum_observed_ring_azimuth" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="sub_stellar_ring_azimuth" type="rings:sub_stellar_ring_azimuth" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sub_stellar_clock_angle" type="rings:sub_stellar_clock_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="observed_ring_elevation" type="rings:observed_ring_elevation" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_observed_ring_elevation" type="rings:minimum_observed_ring_elevation" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_observed_ring_elevation" type="rings:maximum_observed_ring_elevation" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="light_source_incidence_angle" type="rings:light_source_incidence_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_light_source_incidence_angle" type="rings:minimum_light_source_incidence_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_light_source_incidence_angle" type="rings:maximum_light_source_incidence_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="lowest_detectable_opacity" type="rings:lowest_detectable_opacity" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="highest_detectable_opacity" type="rings:highest_detectable_opacity" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="along_track_timing_offset" type="rings:along_track_timing_offset" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="rings:occultation_type = ('Radio', 'Solar', 'Stellar')"/> -->
    <!-- <xs:assert test="rings:occultation_direction = ('Both', 'Egress', 'Ingress', 'Multiple')"/> -->
    <!-- <xs:assert test="rings:ring_profile_direction = ('Egress', 'Ingress', 'Multiple')"/> -->
    <!-- <xs:assert test="rings:planetary_occultation_flag = ('N', 'Y')"/> -->
    <!-- <xs:assert test="rings:ring_plane = ('A', 'Alpha', 'B', 'Beta', 'C', 'D', 'Delta', 'E', 'Epsilon', 'Equator', 'Eta', 'F', 'Five', 'Four', 'G', 'Gamma', 'Individual', 'Lambda', 'Mu', 'Nu', 'Phoebe', 'Six')"/> -->
    <!-- <xs:assert test="rings:frequency_band = ('C', 'D', 'E', 'F', 'G', 'H', 'K', 'Ka', 'Ku', 'Q', 'R', 'S', 'U', 'V', 'W', 'X', 'Y')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="Occultation_Supplement">
    <xs:annotation>
      <xs:documentation>This class is required for all radio ring
        occultation calibration and geometry supplemental
        files.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier" type="pds:local_identifier" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="orbit_number" type="rings:orbit_number" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="occultation_type" type="rings:occultation_type" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="occultation_direction" type="rings:occultation_direction" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ring_profile_direction" type="rings:ring_profile_direction" minOccurs="0" maxOccurs="2"> </xs:element>
      <xs:element name="planetary_occultation_flag" type="rings:planetary_occultation_flag" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="dsn_station_number" nillable="true" type="rings:dsn_station_number" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="frequency_band" type="rings:frequency_band" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="sampling_parameter_name" type="pds:sampling_parameter_name" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="sampling_parameter_unit" type="pds:sampling_parameter_unit" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="sampling_parameter_interval" type="pds:sampling_parameter_interval" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="reference_time_utc" type="rings:reference_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_observed_event_time" type="rings:minimum_observed_event_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_observed_event_time" type="rings:maximum_observed_event_time" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="rings:occultation_type = ('Radio', 'Solar', 'Stellar')"/> -->
    <!-- <xs:assert test="rings:occultation_direction = ('Both', 'Egress', 'Ingress', 'Multiple')"/> -->
    <!-- <xs:assert test="rings:ring_profile_direction = ('Egress', 'Ingress', 'Multiple')"/> -->
    <!-- <xs:assert test="rings:planetary_occultation_flag = ('N', 'Y')"/> -->
    <!-- <xs:assert test="rings:frequency_band = ('C', 'D', 'E', 'F', 'G', 'H', 'K', 'Ka', 'Ku', 'Q', 'R', 'S', 'U', 'V', 'W', 'X', 'Y')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="Occultation_Time_Series">
    <xs:annotation>
      <xs:documentation>This class supports occultation data organized
        as a time series.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier" type="pds:local_identifier" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="orbit_number" type="rings:orbit_number" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="sclk_start_time" type="rings:sclk_start_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sclk_stop_time" type="rings:sclk_stop_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="occultation_type" type="rings:occultation_type" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="occultation_direction" type="rings:occultation_direction" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="time_series_direction" type="rings:time_series_direction" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="planetary_occultation_flag" type="rings:planetary_occultation_flag" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ring_plane" type="rings:ring_plane" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="star_name" type="rings:star_name" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="fresnel_scale" type="rings:fresnel_scale" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="projected_star_diameter" type="rings:projected_star_diameter" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sigma_projected_star_diameter" type="rings:sigma_projected_star_diameter" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="fractional_error_star_counts" type="rings:fractional_error_star_counts" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="time_constant_type" type="rings:time_constant_type" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="time_constant" type="rings:time_constant" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sigma_time_constant" type="rings:sigma_time_constant" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_wavelength" type="rings:minimum_wavelength" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_wavelength" type="rings:maximum_wavelength" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="dsn_station_number" nillable="true" type="rings:dsn_station_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="frequency_band" type="rings:frequency_band" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="wavelength" type="rings:wavelength" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="reference_time_utc" type="rings:reference_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_observed_event_time" type="rings:minimum_observed_event_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_observed_event_time" type="rings:maximum_observed_event_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="observed_event_start_time_utc" type="rings:observed_event_start_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="observed_event_stop_time_utc" type="rings:observed_event_stop_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="observed_event_start_tdb" type="rings:observed_event_start_tdb" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="observed_event_stop_tdb" type="rings:observed_event_stop_tdb" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_event_start_time_utc" type="rings:spacecraft_event_start_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="spacecraft_event_stop_time_utc" type="rings:spacecraft_event_stop_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ring_event_start_time_utc" type="rings:ring_event_start_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ring_event_stop_time_utc" type="rings:ring_event_stop_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ring_event_start_tdb" type="rings:ring_event_start_tdb" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ring_event_stop_tdb" type="rings:ring_event_stop_tdb" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="earth_received_start_time_utc" type="rings:earth_received_start_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="earth_received_stop_time_utc" type="rings:earth_received_stop_time_utc" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_ring_radius" type="rings:minimum_ring_radius" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_ring_radius" type="rings:maximum_ring_radius" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_ring_longitude" type="rings:minimum_ring_longitude" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_ring_longitude" type="rings:maximum_ring_longitude" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_observed_ring_azimuth" type="rings:minimum_observed_ring_azimuth" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_observed_ring_azimuth" type="rings:maximum_observed_ring_azimuth" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sub_stellar_ring_azimuth" type="rings:sub_stellar_ring_azimuth" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="sub_stellar_clock_angle" type="rings:sub_stellar_clock_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="observed_ring_elevation" type="rings:observed_ring_elevation" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_observed_ring_elevation" type="rings:minimum_observed_ring_elevation" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_observed_ring_elevation" type="rings:maximum_observed_ring_elevation" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="light_source_incidence_angle" type="rings:light_source_incidence_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_light_source_incidence_angle" type="rings:minimum_light_source_incidence_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_light_source_incidence_angle" type="rings:maximum_light_source_incidence_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="lowest_detectable_opacity" type="rings:lowest_detectable_opacity" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="highest_detectable_opacity" type="rings:highest_detectable_opacity" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="along_track_timing_offset" type="rings:along_track_timing_offset" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="rings:occultation_type = ('Radio', 'Solar', 'Stellar')"/> -->
    <!-- <xs:assert test="rings:occultation_direction = ('Both', 'Egress', 'Ingress', 'Multiple')"/> -->
    <!-- <xs:assert test="rings:time_series_direction = ('Both', 'Egress', 'Ingress', 'Multiple')"/> -->
    <!-- <xs:assert test="rings:planetary_occultation_flag = ('N', 'Y')"/> -->
    <!-- <xs:assert test="rings:ring_plane = ('A', 'Alpha', 'B', 'Beta', 'C', 'D', 'Delta', 'E', 'Epsilon', 'Equator', 'Eta', 'F', 'Five', 'Four', 'G', 'Gamma', 'Individual', 'Lambda', 'Mu', 'Nu', 'Phoebe', 'Six')"/> -->
    <!-- <xs:assert test="rings:time_constant_type = ('Double Pole', 'None', 'Single Pole')"/> -->
    <!-- <xs:assert test="rings:frequency_band = ('C', 'D', 'E', 'F', 'G', 'H', 'K', 'Ka', 'Ku', 'Q', 'R', 'S', 'U', 'V', 'W', 'X', 'Y')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="Reference_Frame_Ident">
    <xs:annotation>
      <xs:documentation>The Reference_Frame_Ident class is a base class
        for identifying reference frames. These are frames in the NAIF
        sense, i.e., three orthogonal axes with a specified orientation,
        but without a fixed origin. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="rings:Frame_Ident_Base">
        <xs:sequence>
          <xs:element name="local_identifier" type="pds:local_identifier" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="frame_spice_name" type="rings:frame_spice_name" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="name" type="pds:name" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="comment" type="pds:comment" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Reprojection_Geometry">
    <xs:annotation>
      <xs:documentation>This class provides the parameters describing
        reprojection geometry when the ring(s) is reprojected based on a
        fixed grid of coordinates (.g., radius vs.
        longitude).</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier" type="pds:local_identifier" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:description" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="epoch_reprojection_basis_utc" type="rings:epoch_reprojection_basis_utc" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="reprojection_plane" type="rings:reprojection_plane" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="corotating_flag" type="rings:corotating_flag" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="corotation_rate" type="rings:corotation_rate" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean_phase_angle" type="rings:mean_phase_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_phase_angle" type="rings:minimum_phase_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_phase_angle" type="rings:maximum_phase_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean_observed_ring_elevation" type="rings:mean_observed_ring_elevation" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_observed_ring_elevation" type="rings:minimum_observed_ring_elevation" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_observed_ring_elevation" type="rings:maximum_observed_ring_elevation" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_ring_longitude" type="rings:minimum_ring_longitude" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_ring_longitude" type="rings:maximum_ring_longitude" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_corotating_ring_longitude" type="rings:minimum_corotating_ring_longitude" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_corotating_ring_longitude" type="rings:maximum_corotating_ring_longitude" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_ring_radius" type="rings:minimum_ring_radius" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_ring_radius" type="rings:maximum_ring_radius" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="rings:reprojection_plane = ('A', 'Alpha', 'B', 'Beta', 'C', 'D', 'Delta', 'E', 'Epsilon', 'Equator', 'Eta', 'F', 'Five', 'Four', 'G', 'Gamma', 'Lambda', 'Laplace', 'Mu', 'Nu', 'Phoebe', 'Six')"/> -->
    <!-- <xs:assert test="rings:corotating_flag = ('N', 'Y')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="Ring_Identification">
    <xs:annotation>
      <xs:documentation>This class identifies the specific ring to which
        the parameters given in the enclosing class
        apply.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="rings:Body_Ident_Base">
        <xs:sequence>
          <xs:element name="local_identifier" type="pds:local_identifier" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="body_spice_name" type="rings:body_spice_name" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="name" type="pds:name" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Ring_Model">
    <xs:annotation>
      <xs:documentation>This class provides the parameters used to
        generate a ring model.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier" type="pds:local_identifier" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Global_Model_Parameters" type="rings:Global_Model_Parameters" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Central_Body_Parameters" type="rings:Central_Body_Parameters" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Satellite_Parameters" type="rings:Satellite_Parameters" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="Ring_Orbital_Elements" type="rings:Ring_Orbital_Elements" minOccurs="0" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Ring_Moon_Systems">
    <xs:annotation>
      <xs:documentation>This is an umbrella class for all of the classes
        and attributes in this dictionary.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Occultation_Ring_Profile" type="rings:Occultation_Ring_Profile" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Occultation_Time_Series" type="rings:Occultation_Time_Series" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Occultation_Supplement" type="rings:Occultation_Supplement" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Ring_Model" type="rings:Ring_Model" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Ring_Reprojection" type="rings:Ring_Reprojection" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Ring_Spectrum" type="rings:Ring_Spectrum" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Ring_Orbital_Elements">
    <xs:annotation>
      <xs:documentation>This class provides the orbital element values
        for a specific ring which were generated in a ring
        model.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier" type="pds:local_identifier" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Ring_Identification" type="rings:Ring_Identification" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="Normal_Mode_Parameters" type="rings:Normal_Mode_Parameters" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:description" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="semimajor_axis" type="rings:semimajor_axis" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="semimajor_axis_uncert" type="rings:semimajor_axis_uncert" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="eccentricity" type="rings:eccentricity" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="eccentricity_uncert" type="rings:eccentricity_uncert" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="periapse_longitude" type="rings:periapse_longitude" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="periapse_longitude_uncert" type="rings:periapse_longitude_uncert" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="periapse_precession_rate" type="rings:periapse_precession_rate" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="periapse_precession_rate_uncert" type="rings:periapse_precession_rate_uncert" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="periapse_precession_rate_method" type="rings:periapse_precession_rate_method" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="inclination" type="rings:inclination" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="inclination_uncert" type="rings:inclination_uncert" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="node_longitude" type="rings:node_longitude" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="node_longitude_uncert" type="rings:node_longitude_uncert" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="nodal_regression_rate" type="rings:nodal_regression_rate" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="nodal_regression_rate_uncert" type="rings:nodal_regression_rate_uncert" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="nodal_regression_rate_method" type="rings:nodal_regression_rate_method" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="number_points" type="rings:number_points" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="fit_rms_semimajor" type="rings:fit_rms_semimajor" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="rings:periapse_precession_rate_method = ('0', '1', '2')"/> -->
    <!-- <xs:assert test="rings:nodal_regression_rate_method = ('0', '1', '2')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="Ring_Reprojection">
    <xs:annotation>
      <xs:documentation>This class provides the parameters used to
        describe ring reprojection geometry.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier" type="pds:local_identifier" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Display_Direction" type="rings:Display_Direction" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Central_Body_Parameters" type="rings:Central_Body_Parameters" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Ring_Orbital_Elements" type="rings:Ring_Orbital_Elements" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Reprojection_Geometry" type="rings:Reprojection_Geometry" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:description" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Ring_Spectrum">
    <xs:annotation>
      <xs:documentation>This class provides the parameters used to
        describe ring spectra or spectrograms.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier" type="pds:local_identifier" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Display_Direction" type="rings:Display_Direction" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:description" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_ring_radius" type="rings:minimum_ring_radius" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_ring_radius" type="rings:maximum_ring_radius" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="radial_sampling_interval" type="rings:radial_sampling_interval" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_radial_sampling_interval" type="rings:minimum_radial_sampling_interval" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_radial_sampling_interval" type="rings:maximum_radial_sampling_interval" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ring_longitude" type="rings:ring_longitude" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_ring_longitude" type="rings:minimum_ring_longitude" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_ring_longitude" type="rings:maximum_ring_longitude" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ring_longitude_observed_minus_subsolar" type="rings:ring_longitude_observed_minus_subsolar" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_ring_longitude_observed_minus_subsolar" type="rings:minimum_ring_longitude_observed_minus_subsolar" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_ring_longitude_observed_minus_subsolar" type="rings:maximum_ring_longitude_observed_minus_subsolar" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="wavelength" type="rings:wavelength" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_wavelength" type="rings:minimum_wavelength" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_wavelength" type="rings:maximum_wavelength" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="radial_resolution" type="rings:radial_resolution" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_radial_resolution" type="rings:minimum_radial_resolution" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_radial_resolution" type="rings:maximum_radial_resolution" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="ring_intercept_resolution" type="rings:ring_intercept_resolution" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_ring_intercept_resolution" type="rings:minimum_ring_intercept_resolution" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_ring_intercept_resolution" type="rings:maximum_ring_intercept_resolution" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="reflectivity" type="rings:reflectivity" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_reflectivity" type="rings:minimum_reflectivity" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_reflectivity" type="rings:maximum_reflectivity" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean_observed_ring_elevation" type="rings:mean_observed_ring_elevation" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_observed_ring_elevation" type="rings:minimum_observed_ring_elevation" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_observed_ring_elevation" type="rings:maximum_observed_ring_elevation" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean_phase_angle" type="rings:mean_phase_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_phase_angle" type="rings:minimum_phase_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_phase_angle" type="rings:maximum_phase_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="light_source_incidence_angle" type="rings:light_source_incidence_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_light_source_incidence_angle" type="rings:minimum_light_source_incidence_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_light_source_incidence_angle" type="rings:maximum_light_source_incidence_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="incidence_angle" type="rings:incidence_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_incidence_angle" type="rings:minimum_incidence_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_incidence_angle" type="rings:maximum_incidence_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="emission_angle" type="rings:emission_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_emission_angle" type="rings:minimum_emission_angle" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_emission_angle" type="rings:maximum_emission_angle" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Satellite_Identification">
    <xs:annotation>
      <xs:documentation>This class identifies the specific satellite to
        which the parameters given in the enclosing class
        apply.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="rings:Body_Ident_Base">
        <xs:sequence>
          <xs:element name="local_identifier" type="pds:local_identifier" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="body_spice_name" type="rings:body_spice_name" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="name" type="pds:name" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Satellite_Parameters">
    <xs:annotation>
      <xs:documentation>This class provides the parameters used to
        generate a ring model which are specific to a single
        satellite.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier" type="pds:local_identifier" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Satellite_Identification" type="rings:Satellite_Identification" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="semimajor_axis" type="rings:semimajor_axis" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="semimajor_axis_uncert" type="rings:semimajor_axis_uncert" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="eccentricity" type="rings:eccentricity" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="eccentricity_uncert" type="rings:eccentricity_uncert" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="inclination" type="rings:inclination" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="inclination_uncert" type="rings:inclination_uncert" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Uniformly_Sampled_Radius">
    <xs:annotation>
      <xs:documentation> The Uniformly_Sampled_Radius class provides
        attributes describing the spectral characteristics of an axis of
        an Array object or the rows of a Table object, in cases where
        the spectral sampling interval is regular and the sampling
        parameters are in wavelength units. The axis is identified
        either by using Local_Internal_Reference, or by using axis name.
        The latter may be simpler to use if this class applies to
        multiple Array objects. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier" type="pds:local_identifier" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element ref="pds:Local_Internal_Reference" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="axis_name" type="rings:axis_name" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="sampling_interval_length" type="rings:sampling_interval_length" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="sampling_scale" type="rings:sampling_scale" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="sampling_base" type="rings:sampling_base" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="first_ring_radius" type="rings:first_ring_radius" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="last_ring_radius" type="rings:last_ring_radius" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="comment" type="pds:comment" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="rings:sampling_scale = ('Exponential', 'Linear', 'Logarithmic')"/> -->
    <!-- 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="along_track_timing_offset_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="along_track_timing_offset">
    <xs:annotation>
      <xs:documentation>along_track_timing_offset is a timing offset to
        the along track spacecraft position. It is the value that
        minimizes differences in radii of matching circular ring
        features observed on the ingress and egress sides of the
        occultation track. Optional in labels for radio occultation.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:along_track_timing_offset_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="axis_name">
    <xs:annotation>
      <xs:documentation> The axis_name attribute contains a string that
        matches the axis_name attribute in an axis_array class of an
        associated array object. </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="body_spice_name">
    <xs:annotation>
      <xs:documentation>The body_spice_name attribute is a
        NAIF-recognized string identifier for a physical object
        (spacecraft, planet, instrument transmitter, system barycenter,
        etc.), associated with the data. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="corotating_flag">
    <xs:annotation>
      <xs:documentation>The corotating_flag is a yes-or-no flag that
        indicates whether or not a corotating frame is used. a table
        field. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="1"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="corotation_rate_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="corotation_rate">
    <xs:annotation>
      <xs:documentation>The co-rotation rate associated with the data.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:corotation_rate_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angular_Velocity" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="dsn_station_number">
    <xs:annotation>
      <xs:documentation>dsn_station_number identifies the receiving DSN
        station. Required in labels for radio occultations; not used for
        stellar occultations. Nillable in which case the nil_reason
        should be 'inapplicable'. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Integer">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="earth_received_start_time_utc_WO_Units">
    <xs:restriction base="pds:ASCII_Date_Time_YMD_UTC">
  <!-- format="YYYY-MM-DDTHH:MM:SS.SSSSSSZ" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="earth_received_start_time_utc">
    <xs:annotation>
      <xs:documentation>earth_received_start_time_utc gives the UTC time
        corresponding to the earliest time for the data product at which
        telemetry or other photons were received on Earth. Optional for
        occultation data. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:earth_received_start_time_utc_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="earth_received_stop_time_utc_WO_Units">
    <xs:restriction base="pds:ASCII_Date_Time_YMD_UTC">
  <!-- format="YYYY-MM-DDTHH:MM:SS.SSSSSSZ" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="earth_received_stop_time_utc">
    <xs:annotation>
      <xs:documentation>earth_received_stop_time_utc gives the UTC time
        corresponding to the latest time for the data product at which
        telemetry or other photons were received on Earth. Optional for
        occultation data. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:earth_received_stop_time_utc_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="eccentricity">
    <xs:annotation>
      <xs:documentation>The eccentricity of the orbit of the body or
        ring identified in the enclosing class. </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="eccentricity_uncert">
    <xs:annotation>
      <xs:documentation>The uncertainty in the value for the
        eccentricity of the orbit of the body or ring identified in the
        enclosing class. </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="emission_angle_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="180"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="emission_angle">
    <xs:annotation>
      <xs:documentation>The emission_angle element provides the value of
        the angle between the surface normal vector at the intercept
        point and a vector from the intercept point to the spacecraft.
        Higher values of emission_angle indicate more oblique viewing of
        the target. The emission_angle varies from 0 degrees when the
        spacecraft is viewing the subspacecraft point (nadir viewing) to
        90 degrees when the intercept is tangent to the surface of the
        target body, values in the range of 90 to 180 degrees are
        possible for ring data. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:emission_angle_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="epoch_reprojection_basis_utc_WO_Units">
    <xs:restriction base="pds:ASCII_Date_Time_YMD_UTC">
  <!-- format="YYYY-MM-DDTHH:MM:SS.SSSSSSZ" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="epoch_reprojection_basis_utc">
    <xs:annotation>
      <xs:documentation>The basis epoch for the reprojection used in
        this product. Format is YYYY-MM-DDTHH:MM:SS.SSSZ and may be
        truncated. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:epoch_reprojection_basis_utc_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="epoch_ring_fit_utc_WO_Units">
    <xs:restriction base="pds:ASCII_Date_Time_YMD_UTC">
  <!-- format="YYYY-MM-DDTHH:MM:SS.SSSSSSZ" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="epoch_ring_fit_utc">
    <xs:annotation>
      <xs:documentation>The epoch for the ring orbital elements given in
        this product. Format is YYYY-MM-DDTHH:MM:SS.SSSZ and may be
        truncated. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:epoch_ring_fit_utc_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="first_ring_radius_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="first_ring_radius">
    <xs:annotation>
      <xs:documentation> The first_ring_radius attribute provides the
        value of the first increment along the radius axis of an array
        given in units of length. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:first_ring_radius_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="fit_rms_semimajor_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="fit_rms_semimajor">
    <xs:annotation>
      <xs:documentation>The RMS residuals for the semimajor axis of the
        body or ring identified in the enclosing class.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:fit_rms_semimajor_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="fractional_error_star_counts">
    <xs:annotation>
      <xs:documentation>fractional_error_star_counts indicates the
        fractional error (1-sigma) in starcounts used for square-well
        model fit. </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="frame_spice_name">
    <xs:annotation>
      <xs:documentation>The frame_spice_name attribute is a
        NAIF-recognized string identifier for a reference frame
        associated with the data. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="frequency_band">
    <xs:annotation>
      <xs:documentation> The frequency_band attribute provides the one
        or two letter identifier for the frequency band associated with
        radio occultation data. Required in labels for radio
        occultations; not used for stellar occultations.
        </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="fresnel_scale">
    <xs:annotation>
      <xs:documentation>fresnel_scale is sqrt(lambda * D/2), where
        lambda is the central wavelength of the observation and D is the
        average distance between the observer and the occulting ring.
        This is an average value for the entire occultation and is a
        measure of the limit on the radial resolution of ring structure
        due to diffraction. Note that the actual overall resolution is
        affected as well by the projected diameter of the occulted star
        and the instrumental time constant, if any. </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="grav_ref_radius_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="grav_ref_radius">
    <xs:annotation>
      <xs:documentation>The reference radius for the gravitational
        harmonic coefficients of the body identified in the enclosing
        class. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:grav_ref_radius_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="highest_detectable_opacity">
    <xs:annotation>
      <xs:documentation>highest_detectable_opacity indicates the
        sensitivity of a ring occultation data set to nearly opaque
        rings. It specifies the rough value for the largest normal ring
        opacity that can be detected in the data at the resolution
        provided, incorporating both statistical effects and calibration
        uncertainties. Strongly recommended in labels of ring
        occultation observations. Not intended as a value for a table
        field. </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="horizontal_display_axis">
    <xs:annotation>
      <xs:documentation>The horizontal_display_axis attribute
        identifies, by name, the axis of an Array (or Array subclass)
        that is intended to be displayed in the horizontal or "sample"
        dimension on a display device. The value of this attribute must
        match the value of one, and only one, axis_name attribute in an
        Axis_Array class of the associated Array. </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="horizontal_display_direction">
    <xs:annotation>
      <xs:documentation>The horizontal_display_direction attribute
        specifies the direction across the screen of a display device
        that data along the horizontal axis of an Array is supposed to
        be displayed. </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="incidence_angle_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="180"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="incidence_angle">
    <xs:annotation>
      <xs:documentation>The incidence_angle element provides a measure
        of the lighting condition at the intercept point. Incidence
        angle is the angle the surface normal vector at the intercept
        point and a vector from the intercept point to the sun. The
        incidence_angle varies from 0 degrees when the intercept point
        coincides with the subsolar point to 90 degrees when the
        intercept is tangent to the surface of the target body, values
        in the range of 90 to 180 degrees are possible for ring data.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:incidence_angle_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="inclination_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="180"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="inclination">
    <xs:annotation>
      <xs:documentation>The inclination of the orbit of the body or ring
        identified in the enclosing class. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:inclination_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="inclination_uncert_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="inclination_uncert">
    <xs:annotation>
      <xs:documentation>The uncertainty in the value for the inclination
        of the orbit of the body or ring identified in the enclosing
        class. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:inclination_uncert_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="j2">
    <xs:annotation>
      <xs:documentation>The J2 gravitational harmonic coefficient of the
        body identified in the enclosing class. </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="j4">
    <xs:annotation>
      <xs:documentation>The J4 gravitational harmonic coefficient of the
        body identified in the enclosing class. </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="j6">
    <xs:annotation>
      <xs:documentation>The J6 gravitational harmonic coefficient of the
        body identified in the enclosing class. </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="j8">
    <xs:annotation>
      <xs:documentation>The J8 gravitational harmonic coefficient of the
        body identified in the enclosing class. </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_ring_radius_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="last_ring_radius">
    <xs:annotation>
      <xs:documentation> The last_ring_radius attribute provides the
        value of the last increment along the radius axis of an array
        given in units of length. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:last_ring_radius_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="light_source_incidence_angle_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-90"/>
     <xs:maxInclusive value="90"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="light_source_incidence_angle">
    <xs:annotation>
      <xs:documentation>light_source_incidence_angle is an angle
        measured from the local surface normal vector to the direction
        of a photon arriving from the light source. For rings, the
        normal vector is that on the same side of the rings as the light
        source, so values always range between 0 and 90 in units of
        degrees. The value is always equal to 90 - |
        observed_ring_elevation | This will enable users to perform
        database searches based on the effective ring opening angle when
        they are not concerned about the distinction between north-side
        and southside viewpoints. We have included the 'light source'
        prefix to the term so that this quantity is not confused with
        'incidence angle', a term that is generally associated with
        sunlight rather than stars or radio transmitters. Required in
        the label if the value is constant for the observation. If the
        angle varies for the observation, the min and max attributes are
        required in the label. Optional as a field in the data table.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:light_source_incidence_angle_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="lowest_detectable_opacity">
    <xs:annotation>
      <xs:documentation>lowest_detectable_opacity indicates the
        sensitivity of a ring occultation data set to nearly opaque
        rings. It specifies the rough value for the smallest normal ring
        opacity that can be detected in the data at the resolution
        provided, incorporating both statistical effects and calibration
        uncertainties. Strongly recommended in labels of ring
        occultation observations. Not intended as a value for a table
        field. </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="maximum_corotating_ring_longitude_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="360"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="maximum_corotating_ring_longitude">
    <xs:annotation>
      <xs:documentation>The maximum value in this product for ring
        longitude in the rotating frame. The with zero longitude defined
        at the epoch specified by epoch_reprojection_basis_utc, zero
        longitude in the corotating frame at time t corresponds to an
        inertial longitude of (t-epoch)*corotation_rate.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:maximum_corotating_ring_longitude_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="maximum_emission_angle_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="180"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="maximum_emission_angle">
    <xs:annotation>
      <xs:documentation>The maximum_emission_angle element provides the
        largest value during the observation for the emission angle at
        the target. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:maximum_emission_angle_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="maximum_incidence_angle_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="180"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="maximum_incidence_angle">
    <xs:annotation>
      <xs:documentation>The maximum_incidence_angle element provides the
        largest value during the observation for the incidence angle at
        the target. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:maximum_incidence_angle_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="maximum_light_source_incidence_angle_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="90"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="maximum_light_source_incidence_angle">
    <xs:annotation>
      <xs:documentation>maximum_light_source_incidence_angle specifes
        the largest value for light_source_incidence_angle in the
        observation. Only used if the value is not constant over the
        observation. Values range from 0 to +90 in units of degrees. Not
        intended for use in the data file. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:maximum_light_source_incidence_angle_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="maximum_observed_event_time_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="maximum_observed_event_time">
    <xs:annotation>
      <xs:documentation>maximum_observed_event_time gives the largest
        value for observed_event_time in the associated data file. It is
        given in numeric seconds as an offset from the specified UTC
        reference time. maximum_observed_event_time is optional in
        labels since the data file time interval end point values are
        given by the required start_date_time_utc and stop_date_time_utc
        attributes in the Time_Coordinates class. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:maximum_observed_event_time_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="maximum_observed_ring_azimuth_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="360"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="maximum_observed_ring_azimuth">
    <xs:annotation>
      <xs:documentation>maximum_observed_ring_azimuth specifes the
        largest value for observed_ring_azimuth in the data file. Values
        range from 0 to 360 in units of degrees. Required in label files
        for ring occultation data. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:maximum_observed_ring_azimuth_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="maximum_observed_ring_elevation_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-90"/>
     <xs:maxInclusive value="90"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="maximum_observed_ring_elevation">
    <xs:annotation>
      <xs:documentation>maximum_observed_ring_elevation specifes the
        largest value for observed_ring_elevation in the data file. Only
        used if the value is not constant over the observation. Values
        range from -90 to +90 in units of degrees. Not intended for use
        in the data file. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:maximum_observed_ring_elevation_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="maximum_phase_angle_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="180"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="maximum_phase_angle">
    <xs:annotation>
      <xs:documentation>The maximum_phase_angle element provides the
        largest value during the observation for the phase angle at the
        target. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:maximum_phase_angle_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="maximum_radial_resolution_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="maximum_radial_resolution">
    <xs:annotation>
      <xs:documentation>maximum_radial_resolution indicates the maximum
        radial distance over which changes in ring properties can be
        detected within a data product. Note: this value may be larger
        than the radial_sampling_interval value, because a data product
        can be over-sampled. If the value of radial resolution varies,
        the minimum and maximum radial resolution attributes are
        required in labels. Not intended to be used as a table field.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:maximum_radial_resolution_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="maximum_radial_sampling_interval_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="maximum_radial_sampling_interval">
    <xs:annotation>
      <xs:documentation>maximum_radial_sampling_interval indicates the
        smallest radial spacing between consecutive points in a ring
        profile. In practice, this may be somewhat smaller than the
        radial_resolution because a profile may be over-sampled. If the
        value of radial_sampling_interval varies, the minimum and
        maximum attributes are required in labels. Not intended to be
        used as a table field. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:maximum_radial_sampling_interval_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="maximum_reflectivity">
    <xs:annotation>
      <xs:documentation>maximum_reflectivity indicates the largest value
        of I/F within the data object. </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="maximum_ring_intercept_resolution_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="maximum_ring_intercept_resolution">
    <xs:annotation>
      <xs:documentation>maximum_ring_intercept_resolution indicates the
        largest value for ring_intercept_resolution in the data product.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:maximum_ring_intercept_resolution_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="maximum_ring_longitude_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="360"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="maximum_ring_longitude">
    <xs:annotation>
      <xs:documentation>maximum_ring_longitude specifies one boundary
        for the ring longitude range in the data; normally the largest
        value. However, for ranges that cross the prime meridian, the
        maximum ring longitude will have a value less than the minimum
        ring longitude. Values range from 0 to 360 in units of degrees.
        Required in label files for ring occultation data.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:maximum_ring_longitude_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="maximum_ring_longitude_observed_minus_subsolar_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="360"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="maximum_ring_longitude_observed_minus_subsolar">
    <xs:annotation>
      <xs:documentation>maximum_ring_longitude_observed_minus_sub-solar
        specifes smallest separation in ring longitude between the
        observation and the subsolar point. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:maximum_ring_longitude_observed_minus_subsolar_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="maximum_ring_radius_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="maximum_ring_radius">
    <xs:annotation>
      <xs:documentation>maximum_ring_radius indicates the largest ring
        radius value in the data table. Units are km and are always
        positive. Required in label files for ring occultation data.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:maximum_ring_radius_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="maximum_wavelength_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="maximum_wavelength">
    <xs:annotation>
      <xs:documentation>maximum_wavelength is the largest wavelength
        used in the observation. Optional in labels. Used with
        minimum_wavelength when the observation is over a wavelength
        range. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:maximum_wavelength_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="mean_observed_ring_elevation_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-90"/>
     <xs:maxInclusive value="90"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="mean_observed_ring_elevation">
    <xs:annotation>
      <xs:documentation>mean_observed_ring_elevation specifes the mean
        value for observed_ring_elevation in the data file.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:mean_observed_ring_elevation_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="mean_phase_angle_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="180"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="mean_phase_angle">
    <xs:annotation>
      <xs:documentation>The mean_phase_angle element provides the mean
        value during the observation for the phase angle at the target.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:mean_phase_angle_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="minimum_corotating_ring_longitude_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="360"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="minimum_corotating_ring_longitude">
    <xs:annotation>
      <xs:documentation>The minimum value in this product for ring
        longitude in the rotating frame. The with zero longitude defined
        at the epoch specified by epoch_reprojection_basis_utc, zero
        longitude in the corotating frame at time t corresponds to an
        inertial longitude of (t-epoch)*corotation_rate.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:minimum_corotating_ring_longitude_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="minimum_emission_angle_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="180"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="minimum_emission_angle">
    <xs:annotation>
      <xs:documentation>The minimum_emission_angle attribute provides
        the smallest value during the observation for the emission angle
        at the target. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:minimum_emission_angle_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="minimum_incidence_angle_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="180"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="minimum_incidence_angle">
    <xs:annotation>
      <xs:documentation>The minimum_incidence_angle attribute provides
        the smallest value during the observation for the incidence
        angle at the target. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:minimum_incidence_angle_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="minimum_light_source_incidence_angle_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="90"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="minimum_light_source_incidence_angle">
    <xs:annotation>
      <xs:documentation>minimum_light_source_incidence_angle specifes
        the smallest value for light_source_incidence_angle in the
        observation. Only used if the value is not constant over the
        observation. Values range from 0 to +90 in units of degrees. Not
        intended for use in the data file. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:minimum_light_source_incidence_angle_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="minimum_observed_event_time_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="minimum_observed_event_time">
    <xs:annotation>
      <xs:documentation>minimum_observed_event_time gives the smallest
        value for observed_event_time in the associated data file. It is
        given in numeric seconds as an offset from the specified UTC
        reference time. minimum_observed_event_time is optional in
        labels since the data file time interval end point values are
        given by the required start_date_time_utc and stop_date_time_utc
        attributes in the Time_Coordinates class. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:minimum_observed_event_time_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="minimum_observed_ring_azimuth_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="360"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="minimum_observed_ring_azimuth">
    <xs:annotation>
      <xs:documentation>minimum_observed_ring_azimuth specifes the
        smallest value for observed_ring_azimuth in the data file.
        Values range from 0 to 360 in units of degrees. Required in
        label files for ring occultation data. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:minimum_observed_ring_azimuth_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="minimum_observed_ring_elevation_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-90"/>
     <xs:maxInclusive value="90"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="minimum_observed_ring_elevation">
    <xs:annotation>
      <xs:documentation>minimum_observed_ring_elevation specifes the
        smallest value for observed_ring_elevation in the data file.
        Only used if the value is not constant over the observation.
        Values range from -90 to +90 in units of degrees. Not intended
        for use in the data file. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:minimum_observed_ring_elevation_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="minimum_phase_angle_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="180"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="minimum_phase_angle">
    <xs:annotation>
      <xs:documentation>The minimum_phase_angle attribute provides the
        smallest value during the observation for the phase angle at the
        target. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:minimum_phase_angle_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="minimum_radial_resolution_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="minimum_radial_resolution">
    <xs:annotation>
      <xs:documentation>minimum_radial_resolution indicates the minimum
        radial distance over which changes in ring properties can be
        detected within a data product. Note: this value may be larger
        than the radial_sampling_interval value, because a data product
        can be over-sampled. If the value of radial resolution varies,
        the minimum and maximum radial resolution attributes are
        required in labels. Not intended to be used as a table field.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:minimum_radial_resolution_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="minimum_radial_sampling_interval_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="minimum_radial_sampling_interval">
    <xs:annotation>
      <xs:documentation>minimum_radial_sampling_interval indicates the
        smallest radial spacing between consecutive points in a ring
        profile. In practice, this may be somewhat smaller than the
        radial_resolution because a profile may be over-sampled. If the
        value of radial_sampling_interval varies, the minimum and
        maximum attributes are required in labels. Not intended to be
        used as a table field. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:minimum_radial_sampling_interval_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="minimum_reflectivity">
    <xs:annotation>
      <xs:documentation>minimum_reflectivity indicates the largest value
        of I/F within the data object. </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="minimum_ring_intercept_resolution_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="minimum_ring_intercept_resolution">
    <xs:annotation>
      <xs:documentation>minimum_ring_intercept_resolution indicates the
        smallest value for ring_intercept_resolution in the data
        product. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:minimum_ring_intercept_resolution_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="minimum_ring_longitude_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="360"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="minimum_ring_longitude">
    <xs:annotation>
      <xs:documentation>minimum_ring_longitude specifes one boundary for
        the ring longitude range in the data; normally the smallest
        value. However, for ranges that cross the prime meridian, the
        minimum ring longitude will have a value greater than the
        maximum ring longitude. Values range from 0 to 360 in units of
        degrees. Required in label files for ring occultation data.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:minimum_ring_longitude_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="minimum_ring_longitude_observed_minus_subsolar_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="360"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="minimum_ring_longitude_observed_minus_subsolar">
    <xs:annotation>
      <xs:documentation>minimum_ring_longitude_observed_minus_subsolar
        specifes smallest separation in ring longitude between the
        observation and the sub-solar point. Required in label files for
        ring occultation data. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:minimum_ring_longitude_observed_minus_subsolar_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="minimum_ring_radius_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="minimum_ring_radius">
    <xs:annotation>
      <xs:documentation>minimum_ring_radius indicates the smallest ring
        radius value in the data table. Units are km and are always
        positive. Required in label files for ring occultation data.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:minimum_ring_radius_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="minimum_wavelength_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="minimum_wavelength">
    <xs:annotation>
      <xs:documentation>minimum_wavelength is the smallest wavelength
        used in the observation. Optional in labels. Used with
        maximum_wavelength when the observation is over a wavelength
        range. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:minimum_wavelength_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="nodal_regression_rate_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="nodal_regression_rate">
    <xs:annotation>
      <xs:documentation>The regression rate of the node of the orbit of
        the body or ring identified in the enclosing class.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:nodal_regression_rate_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angular_Velocity" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="nodal_regression_rate_method">
    <xs:annotation>
      <xs:documentation>A flag indicating the constraints used to
        determine the node regression rate of the orbit of the body or
        ring identified in the enclosing class. </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="nodal_regression_rate_uncert_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="nodal_regression_rate_uncert">
    <xs:annotation>
      <xs:documentation>The uncertainty in the value for the periapse
        precession rate of the orbit of the body or ring identified in
        the enclosing class. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:nodal_regression_rate_uncert_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angular_Velocity" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="node_longitude_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="360"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="node_longitude">
    <xs:annotation>
      <xs:documentation>The longitude of the ascending node of the orbit
        of the body or ring identified in the enclosing class.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:node_longitude_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="node_longitude_uncert_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="node_longitude_uncert">
    <xs:annotation>
      <xs:documentation>The uncertainty in the value for the longitude
        of the ascending node of the orbit of the body or ring
        identified in the enclosing class. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:node_longitude_uncert_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="normal_mode_amplitude_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="normal_mode_amplitude">
    <xs:annotation>
      <xs:documentation>The amplitude of the normal mode for the ring
        identified in the enclosing class. A value of -9.99X10^99
        indicates there is no normal mode for the ring.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:normal_mode_amplitude_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="normal_mode_amplitude_uncert_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="normal_mode_amplitude_uncert">
    <xs:annotation>
      <xs:documentation>The uncertainty in the value for the normal mode
        of the ring identified in the enclosing class. A value of
        -9.99X10^99 indicates there is no normal mode for the ring.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:normal_mode_amplitude_uncert_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="normal_mode_pattern_speed_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="normal_mode_pattern_speed">
    <xs:annotation>
      <xs:documentation>The pattern speed of the normal mode in the ring
        identified in the enclosing class. A value of -9.99X10^99
        indicates there is no normal mode for the ring.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:normal_mode_pattern_speed_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angular_Velocity" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="normal_mode_pattern_speed_uncert_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="normal_mode_pattern_speed_uncert">
    <xs:annotation>
      <xs:documentation>The uncertainty in the pattern speed of the
        normal mode in the ring identified in the enclosing class. A
        value of -9.99X10^99 indicates there is no normal mode for the
        ring. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:normal_mode_pattern_speed_uncert_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angular_Velocity" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="normal_mode_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="normal_mode_phase">
    <xs:annotation>
      <xs:documentation>The phase of the normal mode at epoch specified
        by epoch_ring_fit_utc for the ring identified in the enclosing
        class. A value of -9.99X10^99 indicates there is no normal mode
        for the ring. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:normal_mode_phase_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="normal_mode_phase_uncert_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="normal_mode_phase_uncert">
    <xs:annotation>
      <xs:documentation>The uncertainty in the value for the
        normal_mode_phase of the ring identified in the enclosing class.
        A value of -9.99X10^99 indicates there is no normal mode for the
        ring. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:normal_mode_phase_uncert_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="normal_mode_wavenumber">
    <xs:annotation>
      <xs:documentation>The wave number of the normal mode in the ring
        identified in the enclosing class. A value of -999 indicates
        there is no normal mode for the ring. </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="number_points">
    <xs:annotation>
      <xs:documentation>Number of fitted data points for the orbit of
        the body or ring identified in the enclosing class.
        </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="observed_event_start_tdb_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="observed_event_start_tdb">
    <xs:annotation>
      <xs:documentation>observed_event_start_tdb indicates the value for
        earliest time in the described data, and is given in elapsed
        seconds since the J2000 epoch. Optional in labels; not intended
        for use as a table field.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:observed_event_start_tdb_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="observed_event_start_time_utc">
    <xs:annotation>
      <xs:documentation>observed_event_start_time_utc indicates the UTC
        value for earliest time in the described data. It is part of a
        start/stop pair. If one of observed_event_start_time_utc and
        observed_event_stop_time_utc is used, both must be used.
        </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="observed_event_stop_tdb_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="observed_event_stop_tdb">
    <xs:annotation>
      <xs:documentation>observed_event_stop_tdb indicates the value for
        latest time in the described data, and is given in elapsed
        seconds since the J2000 epoch. Optional in labels; not intended
        for use as a table field. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:observed_event_stop_tdb_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="observed_event_stop_time_utc">
    <xs:annotation>
      <xs:documentation>observed_event_stop_time_utc indicates the UTC
        value for latest time in the described data. It is part of a
        start/stop pair. If one of observed_event_start_time_utc and
        observed_event_stop_time_utc is used, both must be used.
        </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="observed_ring_elevation_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-90"/>
     <xs:maxInclusive value="90"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="observed_ring_elevation">
    <xs:annotation>
      <xs:documentation>observed_ring_elevation is an angle measured at
        a point in the ring plane, starting from the ring plane to the
        direction of a photon heading to the observer. This angle is
        positive on the side of the ring plane defined by positive
        angular momentum, and negative on the opposite side. Values
        range from -90 to +90 in units of degrees. This angle is
        constant for stellar occultations, but may vary significantly
        during radio occultations. Note: The direction of positive
        angular momentum points toward the IAU-defined north side of the
        ring plane for Jupiter, Saturn and Neptune, but IAU-defined
        south side of the ring plane for Uranus. Required in the label
        if the value is constant for the observation. If the angle
        varies for the observation, the min and max attributes are
        required in the label, and observed_ring_elevation is strongly
        recommended as a field in the data table. The above definition
        of observed_ring_elevation is equivalent to the most common
        usage of the term 'ring open angle', B. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:observed_ring_elevation_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="occultation_direction">
    <xs:annotation>
      <xs:documentation>occultation_direction indicates the direction of
        an occultation track. This refers to the observed occultation
        track overall, not to the subset that might appear in a
        particular file (e.g., if an occultation includes both ingress
        and egress tracks, the value for occultation_direction will be
        both in the data products for each occultation profile.
        Permitted values are 'Ingress', 'Egress', 'Both', and
        'Multiple'. The value 'multiple' is only used for some
        Hubble-based occultations where the occultation track is not
        monotonic over relatively short time scales. Required in labels
        of ring occultation observations. Not intended as a value for a
        table field. </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_type">
    <xs:annotation>
      <xs:documentation>occultation_type distinguishes between three
        types of occultation experiments: Stellar, Solar, or Radio.
        Stellar occultations involve observing a star as a targeted ring
        or body passes in front, as seen from either a spacecraft or
        Earth-based observatory. Solar occultations are similar to
        stellar occultations except that the Sun is used in place of a
        star. Radio occultations typically involve observing the
        continuous-wave radio transmissions from a spacecraft as it
        passes behind the target as seen from a radio telescope on Earth
        or another spacecraft. Required in labels of occultation
        observations. Normally not intended as a value for a table
        field. </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="orbit_number">
    <xs:annotation>
      <xs:documentation>orbit_number if present is the value assigned by
        the mission for the orbit number associated with the
        observation. Optional in labels of occultation observations and
        may be used multiple times. </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="periapse_longitude_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="360"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="periapse_longitude">
    <xs:annotation>
      <xs:documentation>The longitude of periapse for the orbit of the
        body or ring identified in the enclosing class.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:periapse_longitude_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="periapse_longitude_uncert_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="periapse_longitude_uncert">
    <xs:annotation>
      <xs:documentation>The uncertainty in the value for the longitude
        of periapse for the orbit of the body or ring identified in the
        enclosing class. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:periapse_longitude_uncert_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="periapse_precession_rate_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="periapse_precession_rate">
    <xs:annotation>
      <xs:documentation>The precession rate of the periapse of the orbit
        of the body or ring identified in the enclosing class.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:periapse_precession_rate_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angular_Velocity" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="periapse_precession_rate_method">
    <xs:annotation>
      <xs:documentation>A flag indicating the constraints used to
        determine the periapse precession rate of the orbit of the body
        or ring identified in the enclosing class. </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="periapse_precession_rate_uncert_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="periapse_precession_rate_uncert">
    <xs:annotation>
      <xs:documentation>The uncertainty in the value for the periapse
        precession rate of the orbit of the body or ring identified in
        the enclosing class. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:periapse_precession_rate_uncert_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angular_Velocity" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="planetary_occultation_flag">
    <xs:annotation>
      <xs:documentation>The planetary_occultation_flag is a yes-or-no
        flag that indicates whether a occultation track also intersects
        the planet. Required in labels of ring occultation observations.
        Normally not intended as a value for a table field.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="1"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="pole_declination_angle_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-90"/>
     <xs:maxInclusive value="90"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="pole_declination_angle">
    <xs:annotation>
      <xs:documentation>The declination (Dec) of the pole of the
        specified body, given in angular measurements.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:pole_declination_angle_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="pole_declination_angle_uncert_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="pole_declination_angle_uncert">
    <xs:annotation>
      <xs:documentation>The uncertainty of the declination (Dec) of the
        pole of the specified body, given in angular measurements.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:pole_declination_angle_uncert_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="pole_right_ascension_angle_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="360"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="pole_right_ascension_angle">
    <xs:annotation>
      <xs:documentation>The right ascension (RA) of the pole of the
        specified body, given in angular measurements.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:pole_right_ascension_angle_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="pole_right_ascension_angle_uncert_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="pole_right_ascension_angle_uncert">
    <xs:annotation>
      <xs:documentation>The uncertainty of the right ascension (RA) of
        the pole of the specified body, given in angular measurements.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:pole_right_ascension_angle_uncert_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="projected_star_diameter_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="projected_star_diameter">
    <xs:annotation>
      <xs:documentation>projected_star_diameter provides the projected
        angular diameter of the occulted star, from observer to
        occulting object. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:projected_star_diameter_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="radial_resolution_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="radial_resolution">
    <xs:annotation>
      <xs:documentation>radial_resolution indicates the nominal radial
        distance over which changes in ring properties can be detected
        within a data product. Note: this value may be larger than the
        radial_sampling_interval value, because a data product can be
        over-sampled. Required in labels if the value is fixed, as it is
        for stellar occultations. If the value varies, the corresponding
        minimum and maximum attributes must be used instead. Not
        intended to be used as a table field. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:radial_resolution_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="radial_sampling_interval_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="radial_sampling_interval">
    <xs:annotation>
      <xs:documentation>radial_sampling_interval indicates the radial
        spacing between consecutive points in a ring profile. In
        practice, this may be somewhat smaller than the
        radial_resolution because a profile may be over-sampled.
        Required in labels if the value is fixed. If the value varies,
        the corresponding minimum and and maximum attributes must be
        used instead. Not intended to be used as a table field.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:radial_sampling_interval_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="reference_time_utc_WO_Units">
    <xs:restriction base="pds:ASCII_Date_Time_YMD_UTC">
  <!-- format="YYYY-MM-DDTHH:MM:SS.SSSSSSZ" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType 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:simpleContent>
      <xs:extension base="rings:reference_time_utc_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="reflectivity">
    <xs:annotation>
      <xs:documentation>reflectivity indicates I/F, a dimensionless
        standardized measure of reflectivity that is unity for a
        Lambertian surface viewed at normal incidence.
        </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="reprojection_plane">
    <xs:annotation>
      <xs:documentation>reprojection_plane identifies the plane onto
        which the reprojection is based. Possible values for the Saturn
        ring system are 'Equator', 'Laplace', 'A', 'B', 'C', 'D', 'E',
        'F', 'G', 'Phoebe'. For the Uranus ring system values are
        'Equator', 'Laplace', 'Six', 'Five', 'Four', 'Alpha', 'Beta',
        'Eta', 'Gamma', 'Delta', 'Lambda','Epsilon',Nu, Mu. Required in
        labels of ring reprojection products. </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="ring_event_start_tdb_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="ring_event_start_tdb">
    <xs:annotation>
      <xs:documentation>ring_event_start_tdb indicates the value for
        earliest time in the described data, and is given in
        ring_event_tdb format. Optional in labels; not intended for use
        as a table field. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:ring_event_start_tdb_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="ring_event_start_time_utc_WO_Units">
    <xs:restriction base="pds:ASCII_Date_Time_YMD_UTC">
  <!-- format="YYYY-MM-DDTHH:MM:SS.SSSSSSZ" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="ring_event_start_time_utc">
    <xs:annotation>
      <xs:documentation>ring_event_start_time_utc gives the UTC time
        corresponding to the earliest time given by ring_event_time or
        ring_event_tdb in the data table. ring_event_start_time_utc is
        required for all ring occultation data.
        ring_event_start_time_utc is required label attribute for all
        ring occultation data. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:ring_event_start_time_utc_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="ring_event_stop_tdb_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="ring_event_stop_tdb">
    <xs:annotation>
      <xs:documentation>ring_event_stop_tdb indicates the value for
        latest time in the described data, and is given in
        ring_event_tdb format. Optional in labels; not intended for use
        as a table field. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:ring_event_stop_tdb_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="ring_event_stop_time_utc_WO_Units">
    <xs:restriction base="pds:ASCII_Date_Time_YMD_UTC">
  <!-- format="YYYY-MM-DDTHH:MM:SS.SSSSSSZ" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="ring_event_stop_time_utc">
    <xs:annotation>
      <xs:documentation>ring_event_stop_time_utc gives the UTC time
        corresponding to the latest time given by ring_event_time or
        ring_event_tdb in the data table. ring_event_stop_time_utc is
        required for all ring occultation data. ring_event_stop_time_utc
        is required label attribute for all ring occultation data.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:ring_event_stop_time_utc_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="ring_intercept_resolution_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="ring_intercept_resolution">
    <xs:annotation>
      <xs:documentation>ring_intercept_resolution is the size of edge of
        a pixel at the distance of the ring intercept point. If the
        pixel shape is not square, it is defined by the smaller of the
        two edges. Unlike the quantity ‘radial resolution’, these values
        are not projected into the ring plane. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:ring_intercept_resolution_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="ring_longitude_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="360"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="ring_longitude">
    <xs:annotation>
      <xs:documentation>ring_longitude specifies the inertial longitude
        of a ring feature relative to the prime meridian. In planetary
        ring systems, the prime meridian is the ascending node of the
        planet's invariable plane on the Earth's mean equator of J2000.
        Longitudes are measured in the direction of orbital motion along
        the planet's invariable plane to the ring's ascending node, and
        thence along the ring plane. Values range from 0 to 360 in units
        of degrees. Note: The invariable plane of a planet is equivalent
        to its equatorial plane for every ringed planet except Neptune.
        Required to be the second field in ring occultation profiles. In
        labels, the min and max attributes are required.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:ring_longitude_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="ring_longitude_observed_minus_subsolar_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="360"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="ring_longitude_observed_minus_subsolar">
    <xs:annotation>
      <xs:documentation>ring_longitude_observed_minus_subsolar providees
        the difference between the inertial ring longitude of the
        observation and inertial ring longitude of the sub-solar point.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:ring_longitude_observed_minus_subsolar_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="ring_plane">
    <xs:annotation>
      <xs:documentation>ring_plane indicates the plane upon which
        parameters such as ring_radius are based. Possible values for
        the Saturn ring system are 'Equator', 'A', 'B', 'C', 'D', 'E',
        'F', 'G', 'Phoebe'. For the Uranus ring system values are
        'Equator', 'Six', 'Five', 'Four', 'Alpha', 'Beta', 'Eta',
        'Gamma', 'Delta', 'Lambda','Epsilon',Nu, Mu. Required in labels
        of ring occultation 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="ring_profile_direction">
    <xs:annotation>
      <xs:documentation>ring_profile_direction indicates the radial
        direction of a ring occultation within a particular data
        product. Possible values are 'Ingress', 'Egress', or 'Multiple'.
        The value 'Multiple' is only used for some Hubble-based
        occultations where the occultation track is not monotonic over
        relatively short time scales. Required in labels of ring
        occultation observations. Not intended as a value for a table
        field. </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_base">
    <xs:annotation>
      <xs:documentation> The sampling_base attribute indicates the
        numeric base of the associated logarithmic or exponential
        sampling interval. </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="sampling_interval_length_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="sampling_interval_length">
    <xs:annotation>
      <xs:documentation> The sampling_interval_length attribute provides
        the spacing of points, in units of length, at which data are
        sampled and at which a value for an instrument or data parameter
        is available. This sampling interval can be either the original
        (raw) sampling or the result of some resampling process.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:sampling_interval_length_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="sampling_scale">
    <xs:annotation>
      <xs:documentation> The sampling_scale attribute indicates the type
        of scale that applies to the sample interval increments. It must
        have a value of either Linear or Logarithmic. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="sclk_start_time">
    <xs:annotation>
      <xs:documentation>sclk_start_time is the value of the spacecraft
        clock corresponding to the start_date_time given in the label.
        </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="sclk_stop_time">
    <xs:annotation>
      <xs:documentation>sclk_stop_time is the value of the spacecraft
        clock corresponding to the stop_date_time given in the label.
        </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="semimajor_axis_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="semimajor_axis">
    <xs:annotation>
      <xs:documentation>The semimajor axis of the orbit of the body or
        ring identified in the enclosing class. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:semimajor_axis_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="semimajor_axis_uncert_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="semimajor_axis_uncert">
    <xs:annotation>
      <xs:documentation>The uncertainty in the value for the semimajor
        axis of the orbit of the body or ring identified in the
        enclosing class. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:semimajor_axis_uncert_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="sigma_projected_star_diameter_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="sigma_projected_star_diameter">
    <xs:annotation>
      <xs:documentation>sigma_projected_star_diameter indicates the
        uncertainty (1-sigma) in the projected_star_diameter.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:sigma_projected_star_diameter_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="sigma_time_constant_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="sigma_time_constant">
    <xs:annotation>
      <xs:documentation>sigma_time_constant indicates the uncertainty in
        the time_constant. See Eq. 9 Elliot et al. (1984) Astron. J.
        1587-1603. If this attribute is used them the attribute
        time_constant also must be present. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:sigma_time_constant_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="spacecraft_event_start_time_utc_WO_Units">
    <xs:restriction base="pds:ASCII_Date_Time_YMD_UTC">
  <!-- format="YYYY-MM-DDTHH:MM:SS.SSSSSSZ" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="spacecraft_event_start_time_utc">
    <xs:annotation>
      <xs:documentation>spacecraft_event_start_time_utc gives the UTC
        time corresponding to the earliest time given by
        spacecraft_event_time in the data table. However, while
        spacecraft_event_time is given as seconds offset from a
        reference time, spacecraft_event_start_time_utc is given as a
        UTC date time. Required in the label for radio occultation data.
        Not used for stellar occultations. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:spacecraft_event_start_time_utc_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="spacecraft_event_stop_time_utc_WO_Units">
    <xs:restriction base="pds:ASCII_Date_Time_YMD_UTC">
  <!-- format="YYYY-MM-DDTHH:MM:SS.SSSSSSZ" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="spacecraft_event_stop_time_utc">
    <xs:annotation>
      <xs:documentation>spacecraft_event_stop_time_utc gives the UTC
        time corresponding to the latest time given by
        spacecraft_event_time in the data table. However, while
        spacecraft_event_time is given as seconds offset from a
        reference time, spacecraft_event_stop_time_utc is given as a UTC
        date time. Required in the label for radio occultation data. Not
        used for stellar occultations. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:spacecraft_event_stop_time_utc_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="star_name">
    <xs:annotation>
      <xs:documentation>star_name provides the identifying name of star,
        including the catalog name if necessary. Examples include 'sigma
        Sgr' and 'SAO 123456' (for star number 123456 in the Smithsonian
        Astrophysical Observatory catalog). Use 'Sun' for solar
        occultations. Required in labels for stellar and solar
        occultations. Not used for radio occultations.
        </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="sub_stellar_clock_angle_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="360"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="sub_stellar_clock_angle">
    <xs:annotation>
      <xs:documentation>sub_stellar_clock_angle is an angle measured at
        a point in the ring plane, from the direction toward a star to
        the local radial direction. This angle is projected into the
        ring plane and measured in the clockwise (retrograde) direction.
        Equivalently, this is the prograde angle from the local radial
        direction to the direction toward the star. For stellar
        occultation data, this angle is equal to (180 -
        OBSERVED_RING_AZIMUTH) mod 360. It is available only for
        backward compatibility with previously published Cassini VIMS
        occultation data analysis; observed_ring_azimuth is the
        preferred quantity for archiving. sub_stellar_clock_angle is an
        optional data table field for Cassini VIMS occultation data; not
        recommended for other occultation data. In a label, the min and
        max variation attributes are optional for Cassini VIMS
        occultation data; not recommended for other occultation data.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:sub_stellar_clock_angle_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="sub_stellar_ring_azimuth_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="360"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="sub_stellar_ring_azimuth">
    <xs:annotation>
      <xs:documentation>sub_stellar_ring_azimuth is an angle measured at
        a point in the ring plane, starting from the direction of a
        photon arriving from a star, and ending at the direction of a
        local radial vector. This angle is projected into the ring plane
        and measured in the prograde direction. Values range from 0 to
        360 in units of degrees. For stellar occultation data, this
        angle is equal to (observed_ring_azimuth + 180) mod 360. It is
        available only for backward compatibility with previously
        published Cassini UVIS occultation data analysis;
        observed_ring_azimuth is the preferred quantity for archiving.
        sub_stellar_ring_azimuth is an optional data table field for
        Cassini UVIS occultation data; not recommended for other
        occultation data. In a label, the min and max variation
        attributes are optional for Cassini UVIS occultation data; not
        recommended for other occultation data. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:sub_stellar_ring_azimuth_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="time_constant_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="time_constant">
    <xs:annotation>
      <xs:documentation>time_constant indicates the instrumental time
        constant of the detector. See Eq. 9 Elliot et al. (1984) Astron.
        J. 1587-1603. If this attribute is used them the attribute
        time_constant_type also must be present. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:time_constant_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="time_constant_type">
    <xs:annotation>
      <xs:documentation>time_constant_type distinguishes between three
        types of instrumental time constant assumed in a square-well
        model. This attribute is required if the time_constant attribute
        is present. </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="time_series_direction">
    <xs:annotation>
      <xs:documentation>time_series_direction indicates the direction
        the occultation proceeds through the target within a particular
        data product. Possible values are 'Ingress', 'Egress', 'Both' or
        'Multiple'. The value 'Multiple' is only used for some
        Hubble-based occultations where the occultation track is not
        monotonic over relatively short time scales. Not intended as a
        value for a table field. </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="vertical_display_axis">
    <xs:annotation>
      <xs:documentation>The vertical_display_axis attribute identifies,
        by name, the axis of an Array (or Array subclass) that is
        intended to be displayed in the vertical or "line" dimension on
        a display device. The value of this attribute must match the
        value of one, and only one, axis_name attribute in an Axis_Array
        class of the associated Array. </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="vertical_display_direction">
    <xs:annotation>
      <xs:documentation>The vertical_display_direction attribute
        specifies the direction along the screen of a display device
        that data along the vertical axis of an Array is supposed to be
        displayed. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="wavelength_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="wavelength">
    <xs:annotation>
      <xs:documentation>wavelength of the observation. Optional in
        labels. If the observation is over a wavelength range, use the
        corresponding minimum and maximum attributes instead.
        </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="rings:wavelength_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:schema>
