<?xml version="1.0" encoding="UTF-8"?>
  <!-- PDS4 XML/Schema for PDS4_1.0.0.0  Tue May 07 09:23:15 PDT 2013 -->
  <!-- Generated from the PDS4 Information Model V1.0.0.0 - System Build 3b -->
  <!-- *** This PDS4 product schema is an operational deliverable. *** -->
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://pds.nasa.gov/pds4/pds/v1"
    xmlns:pds="http://pds.nasa.gov/pds4/pds/v1"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    version="1.0.0.0">

  <xs:complexType name="Ingest_LDD">
    <xs:annotation>
      <xs:documentation> The Ingest_LDD class provides a form for collecting class and attribute definitions. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="ldd_version_id" type="pds:ldd_version_id" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="full_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="steward_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="namespace_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="comment" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="last_modification_date_time" type="pds:ASCII_Date_Time_YMD" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="DD_Attribute" type="pds:DD_Attribute" minOccurs="1" maxOccurs="unbounded"> </xs:element>
      <xs:element name="DD_Class" type="pds:DD_Class" minOccurs="0" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Product_AIP">
    <xs:annotation>
      <xs:documentation> The Product AIP class defines a product for the Archival Information Package. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Information_Package_Component" type="pds:Information_Package_Component" minOccurs="1" maxOccurs="unbounded"> </xs:element>
          <xs:element name="Archival_Information_Package" type="pds:Archival_Information_Package" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Attribute_Definition">
    <xs:annotation>
      <xs:documentation> The Product Attribute Definition provides an attribute definition in XML encoding. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="DD_Attribute_Full" type="pds:DD_Attribute_Full" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Browse">
    <xs:annotation>
      <xs:documentation> The Product Browse class defines a product consisting of one  encoded byte stream digital object. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="File_Area_Browse" type="pds:File_Area_Browse" minOccurs="1" maxOccurs="unbounded"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Bundle">
    <xs:annotation>
      <xs:documentation> A Product_Bundle is an aggregate product and has a table of references to one or more collections. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Context_Area" type="pds:Context_Area" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Bundle" type="pds:Bundle" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="File_Area_Text" type="pds:File_Area_Text" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Bundle_Member_Entry" type="pds:Bundle_Member_Entry" minOccurs="1" maxOccurs="unbounded"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Class_Definition">
    <xs:annotation>
      <xs:documentation> The Product Class Definition provides a class definition in XML encoding. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="DD_Class_Full" type="pds:DD_Class_Full" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Collection">
    <xs:annotation>
      <xs:documentation> A Product_Collection has a table of references to one or more basic products. The references are stored in a table called the inventory. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Context_Area" type="pds:Context_Area" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Collection" type="pds:Collection" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="File_Area_Inventory" type="pds:File_Area_Inventory" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Context">
    <xs:annotation>
      <xs:documentation> The Product Context class describes something that provides context and provenance for an observational product. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Discipline_Area" type="pds:Discipline_Area" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:choice minOccurs="1" maxOccurs="1">
            <xs:element name="Agency" type="pds:Agency"> </xs:element>
            <xs:element name="Facility" type="pds:Facility"> </xs:element>
            <xs:element name="Instrument" type="pds:Instrument"> </xs:element>
            <xs:element name="Instrument_Host" type="pds:Instrument_Host"> </xs:element>
            <xs:element name="Investigation" type="pds:Investigation"> </xs:element>
            <xs:element name="Node" type="pds:Node"> </xs:element>
            <xs:element name="Other" type="pds:Other"> </xs:element>
            <xs:element name="PDS_Affiliate" type="pds:PDS_Affiliate"> </xs:element>
            <xs:element name="PDS_Guest" type="pds:PDS_Guest"> </xs:element>
            <xs:element name="Resource" type="pds:Resource"> </xs:element>
            <xs:element name="Target" type="pds:Target"> </xs:element>
            <xs:element name="Telescope" type="pds:Telescope"> </xs:element>
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_DIP">
    <xs:annotation>
      <xs:documentation> The Product DIP class defines a product for the Dissemination Information Package. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Information_Package_Component" type="pds:Information_Package_Component" minOccurs="1" maxOccurs="unbounded"> </xs:element>
          <xs:element name="Dissemination_Information_Package" type="pds:Dissemination_Information_Package" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_DIP_Deep_Archive">
    <xs:annotation>
      <xs:documentation> The Product DIP_Deep_Archive class defines a product for the Dissemination Information Package for the deep archive. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Information_Package_Component" type="pds:Information_Package_Component" minOccurs="1" maxOccurs="unbounded"> </xs:element>
          <xs:element name="DIP_Deep_Archive" type="pds:DIP_Deep_Archive" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Data_Set_PDS3">
    <xs:annotation>
      <xs:documentation> The Data Set PDS3 product  is used to create proxy labels for the data sets in the PDS3 Data Set catalog. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Data_Set_PDS3" type="pds:Data_Set_PDS3" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Document">
    <xs:annotation>
      <xs:documentation> A Product Document is a product consisting of a single logical document that may be comprised of one or more document formats. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Context_Area" type="pds:Context_Area" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Document" type="pds:Document" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Document_Format_Set" type="pds:Document_Format_Set" minOccurs="1" maxOccurs="unbounded"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_File_Repository">
    <xs:annotation>
      <xs:documentation> The Product File Repository class consists of a single text file. This product is used to register a file in a repository. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="File_Area_Binary" type="pds:File_Area_Binary" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_File_Text">
    <xs:annotation>
      <xs:documentation> The Product File Text consists of a single text file with ASCII character encoding. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="File_Area_Text" type="pds:File_Area_Text" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Instrument_Host_PDS3">
    <xs:annotation>
      <xs:documentation> An Instrument Host product describes an instrument host. This product captures the PDS3 catalog instrument host information. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Instrument_Host_PDS3" type="pds:Instrument_Host_PDS3" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Instrument_PDS3">
    <xs:annotation>
      <xs:documentation> An Instrument product describes an instrument. This product captures the PDS3 catalog instrument information. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Instrument_PDS3" type="pds:Instrument_PDS3" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Mission_PDS3">
    <xs:annotation>
      <xs:documentation> An Mission product describes a mission. This product captures the PDS3 catalog mission information. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Mission_PDS3" type="pds:Mission_PDS3" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Observational">
    <xs:annotation>
      <xs:documentation> A Product_Observational is a set of one or more information objects produced by an observing system. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Observation_Area" type="pds:Observation_Area" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="File_Area_Observational" type="pds:File_Area_Observational" minOccurs="1" maxOccurs="unbounded"> </xs:element>
          <xs:element name="File_Area_Observational_Supplemental" type="pds:File_Area_Observational_Supplemental" minOccurs="0" maxOccurs="unbounded"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Proxy_PDS3">
    <xs:annotation>
      <xs:documentation> The Product Proxy PDS3 class defines a product with enough information to register a PDS3 data product. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="File_Area_Binary" type="pds:File_Area_Binary" minOccurs="1" maxOccurs="unbounded"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_SIP">
    <xs:annotation>
      <xs:documentation> The Product SIP class defines a product for the Submission Information Package. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Information_Package_Component" type="pds:Information_Package_Component" minOccurs="1" maxOccurs="unbounded"> </xs:element>
          <xs:element name="Submission_Information_Package" type="pds:Submission_Information_Package" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_SPICE_Kernel">
    <xs:annotation>
      <xs:documentation> The Product SPICE Kernel class defines a SPICE kernel product. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Context_Area" type="pds:Context_Area" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="File_Area_SPICE_Kernel" type="pds:File_Area_SPICE_Kernel" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Service">
    <xs:annotation>
      <xs:documentation> The Product Service class defines a product for registering services. Service descriptions from this product are used to register services as intrinsic registry objects. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="File_Area_Service_Description" type="pds:File_Area_Service_Description" minOccurs="0" maxOccurs="unbounded"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Software">
    <xs:annotation>
      <xs:documentation> Product Software is a product consisting of a set of one or more software formats. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Software" type="pds:Software" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Software_Binary" type="pds:Software_Binary" minOccurs="0" maxOccurs="unbounded"> </xs:element>
          <xs:element name="Software_Script" type="pds:Software_Script" minOccurs="0" maxOccurs="unbounded"> </xs:element>
          <xs:element name="Software_Source" type="pds:Software_Source" minOccurs="0" maxOccurs="unbounded"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Subscription_PDS3">
    <xs:annotation>
      <xs:documentation> The Product_Subscription_PDS3 class provides the list of subscriptions for a PDS3 subscriber. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Subscriber_PDS3" type="pds:Subscriber_PDS3" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Target_PDS3">
    <xs:annotation>
      <xs:documentation> A target product describes a target. This product captures a reduced set of the PDS3 catalog target information. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Target_PDS3" type="pds:Target_PDS3" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Thumbnail">
    <xs:annotation>
      <xs:documentation> The Product Thumbnail class defines a product consisting of one encoded byte stream digital object. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="File_Area_Encoded_Image" type="pds:File_Area_Encoded_Image" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Update">
    <xs:annotation>
      <xs:documentation> The Product Update class defines a product consisting of update information and optional references to other products. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Update" type="pds:Update" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Volume_PDS3">
    <xs:annotation>
      <xs:documentation> A Product Volume PDS3 product captures the PDS3 volume information. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Volume_PDS3" type="pds:Volume_PDS3" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Volume_Set_PDS3">
    <xs:annotation>
      <xs:documentation> A Product Volume Set PDS3 product captures the PDS3 volume set information. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Volume_Set_PDS3" type="pds:Volume_Set_PDS3" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_XML_Schema">
    <xs:annotation>
      <xs:documentation> The Product_XML_Schema  describes a resource used for the PDS4 implementation into XML. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Reference_List" type="pds:Reference_List" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="File_Area_XML_Schema" type="pds:File_Area_XML_Schema" minOccurs="1" maxOccurs="unbounded"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product_Zipped">
    <xs:annotation>
      <xs:documentation> The Product_Zipped  is a product with references to other products. The referenced products and all associated products and files are packaged into a single ZIP file. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Product">
        <xs:sequence>
          <xs:element name="Internal_Reference" type="pds:Internal_Reference" minOccurs="1" maxOccurs="unbounded"> </xs:element>
          <xs:element name="Zip" type="pds:Zip" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="File" type="pds:File" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Archival_Information_Package">
    <xs:annotation>
      <xs:documentation> The Archival Information Package (AIP) class defines an Information Package consisting of the Content Information and the associated Preservation Description Information (PDI), which is preserved within an archive that conforms to the Open Archive Information System (OAIS) Reference Model. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Information_Package">
        <xs:sequence>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="DIP_Deep_Archive">
    <xs:annotation>
      <xs:documentation> The Dissemination Information Package Deep Archive class is an Information Package derived from one or more AIPs and is received by the National Space Science Data Center (NSSDC). </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Information_Package">
        <xs:sequence>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Dissemination_Information_Package">
    <xs:annotation>
      <xs:documentation> The Dissemination Information Package (DIP) class defines an Information Package, derived from one or more AIPs, that is received by a consumer. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Information_Package">
        <xs:sequence>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Encoded_Header">
    <xs:annotation>
      <xs:documentation> The Encoded Header class describes a header that has been encoded using an encoding scheme that is compliant to an external standard. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Encoded_Byte_Stream">
        <xs:sequence>
          <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="offset" type="pds:offset" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="object_length" type="pds:object_length" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="encoding_standard_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Header">
    <xs:annotation>
      <xs:documentation> The Header class describes a data object header. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Parsable_Byte_Stream">
        <xs:sequence>
          <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="offset" type="pds:offset" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="object_length" type="pds:object_length" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="parsing_standard_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Submission_Information_Package">
    <xs:annotation>
      <xs:documentation> The Submission Information Package (SIP) class is an Information Package that is delivered by a Data Provider to an archive that conforms to the Open Archive Information System (OAIS) Reference Model for use in the construction of one or more AIPs. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Information_Package">
        <xs:sequence>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Identification_Area">
    <xs:annotation>
      <xs:documentation> The identification area consists of attributes that identify and name an object. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="logical_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="version_id" type="pds:version_id" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="title" type="pds:UTF8_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="information_model_version" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="product_class" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="Alias_List" type="pds:Alias_List" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Citation_Information" type="pds:Citation_Information" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Modification_History" type="pds:Modification_History" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Alias_List">
    <xs:annotation>
      <xs:documentation> The Alias_List class provides a list of paired alternate names and identifications for this product in this or some other archive or data system. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Alias" type="pds:Alias" minOccurs="1" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Citation_Information">
    <xs:annotation>
      <xs:documentation> The Citation_Information class provides specific fields often used in citing the product in journal articles, abstract services, and other reference contexts. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="author_list" type="pds:UTF8_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="editor_list" type="pds:UTF8_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="publication_year" type="pds:ASCII_Date" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="keyword" type="pds:UTF8_Short_String_Collapsed" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="description" type="pds:UTF8_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Modification_History">
    <xs:annotation>
      <xs:documentation> The Modification_History class tracks the history of changes made to the product once it enters the registry system. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Modification_Detail" type="pds:Modification_Detail" minOccurs="1" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Modification_Detail">
    <xs:annotation>
      <xs:documentation> The Modification_Detail class provides the details of one round of modification for the product.  The first, required, instance of this class documents the date the product was first registered. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="modification_date" type="pds:ASCII_Date_YMD" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="version_id" type="pds:version_id" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Context_Area">
    <xs:annotation>
      <xs:documentation> The Context Area provides context information for a product. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="comment" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Time_Coordinates" type="pds:Time_Coordinates" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Primary_Result_Summary" type="pds:Primary_Result_Summary" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Investigation_Area" type="pds:Investigation_Area" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="Observing_System" type="pds:Observing_System" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="Target_Identification" type="pds:Target_Identification" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="Mission_Area" type="pds:Mission_Area" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Discipline_Area" type="pds:Discipline_Area" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Observation_Area">
    <xs:annotation>
      <xs:documentation> The observation area consists of attributes that provide information about the circumstances under which the data were collected. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Context_Area">
        <xs:sequence>
          <xs:element name="comment" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Time_Coordinates" type="pds:Time_Coordinates" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Primary_Result_Summary" type="pds:Primary_Result_Summary" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Investigation_Area" type="pds:Investigation_Area" minOccurs="1" maxOccurs="unbounded"> </xs:element>
          <xs:element name="Observing_System" type="pds:Observing_System" minOccurs="1" maxOccurs="unbounded"> </xs:element>
          <xs:element name="Target_Identification" type="pds:Target_Identification" minOccurs="1" maxOccurs="unbounded"> </xs:element>
          <xs:element name="Mission_Area" type="pds:Mission_Area" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Discipline_Area" type="pds:Discipline_Area" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Time_Coordinates">
    <xs:annotation>
      <xs:documentation> The Time_Coordinates class provides a list of time coordinates. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="start_date_time" nillable="true" type="pds:start_date_time" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="stop_date_time" nillable="true" type="pds:stop_date_time" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="local_mean_solar_time" type="pds:local_mean_solar_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="local_true_solar_time" type="pds:local_true_solar_time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="solar_longitude" type="pds:solar_longitude" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Primary_Result_Summary">
    <xs:annotation>
      <xs:documentation> The Primary_Result_Summary class provides a high-level description of the types of products included in the collection or bundle </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="type" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="purpose" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="data_regime" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="unbounded"> </xs:element>
      <xs:element name="processing_level_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Short_String_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Investigation_Area">
    <xs:annotation>
      <xs:documentation> The Investigation_Area class provides information about an investigation (mission, observing campaign or other coordinated, large-scale data collection effort). </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="Internal_Reference" type="pds:Internal_Reference" minOccurs="1" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Observing_System">
    <xs:annotation>
      <xs:documentation> The Observing System class describes the entire suite used to collect the data. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Observing_System_Component" type="pds:Observing_System_Component" minOccurs="1" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Observing_System_Component">
    <xs:annotation>
      <xs:documentation> The Observing System Component class references one or more subsystems used to collect data. A subsystem can be an instrument_host, instrument, or any other similar product. Each subsystem is categorized as either a sensor or a source. If the observing system includes both a sensor and a source, Observing System Component occurs twice (once for each type) otherwise it only occurs once. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Internal_Reference" type="pds:Internal_Reference" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="External_Reference" type="pds:External_Reference" minOccurs="0" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Target_Identification">
    <xs:annotation>
      <xs:documentation> The Target_Identification class provides detailed target identification information. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="alternate_designation" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Internal_Reference" type="pds:Internal_Reference" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Geometry">
    <xs:annotation>
      <xs:documentation> The Geometry class groups geometry information. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <!-- When creating a specific XML schema, remove the 'xs:any' element. You may insert any described nondigital object, one or more times. -->
      <xs:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded" />
      <!-- <xs:element name="Any_NonDigital_Object" type="pds:Any_NonDigital_Object" minOccurs="0" maxOccurs="unbounded"> </xs:element> -->
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Mission_Area">
    <xs:annotation>
      <xs:documentation> The mission area allows the insertion of mission specific metadata. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <!-- When creating a specific XML schema, remove the 'xs:any' element. You may insert any described nondigital object, one or more times. -->
      <xs:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded" />
      <!-- <xs:element name="Any_NonDigital_Object" type="pds:Any_NonDigital_Object" minOccurs="0" maxOccurs="unbounded"> </xs:element> -->
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Discipline_Area">
    <xs:annotation>
      <xs:documentation> The Discipline area allows the insertion of discipline specific metadata. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <!-- When creating a specific XML schema, remove the 'xs:any' element. You may insert any described nondigital object, one or more times. -->
      <xs:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded" />
      <!-- <xs:element name="Any_NonDigital_Object" type="pds:Any_NonDigital_Object" minOccurs="0" maxOccurs="unbounded"> </xs:element> -->
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Uniformly_Sampled">
    <xs:annotation>
      <xs:documentation> The Uniformly_Sampled class provides parameters for a uniformly sampled table. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="sampling_parameter_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="sampling_parameter_interval" type="pds:ASCII_Real" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="sampling_parameter_unit" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="first_sampling_parameter_value" type="pds:ASCII_Real" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="last_sampling_parameter_value" type="pds:ASCII_Real" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="sampling_parameter_scale" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Element_Array">
    <xs:annotation>
      <xs:documentation> The Element Array class is used as a component of the array class and defines an element of the array. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="data_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="unit" type="pds:UTF8_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="scaling_factor" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="value_offset" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Record_Binary">
    <xs:annotation>
      <xs:documentation> The Record_Binary class is a component of the table class and defines a record of the table. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Record">
        <xs:sequence>
          <xs:element name="record_length" type="pds:record_length" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:choice minOccurs="1" maxOccurs="unbounded">
            <xs:element name="Field_Binary" type="pds:Field_Binary"> </xs:element>
            <xs:element name="Group_Field_Binary" type="pds:Group_Field_Binary"> </xs:element>
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Record_Character">
    <xs:annotation>
      <xs:documentation> The Record_Character class is a component of the table class and defines a record of the table. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Record">
        <xs:sequence>
          <xs:element name="record_length" type="pds:record_length" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:choice minOccurs="1" maxOccurs="unbounded">
            <xs:element name="Field_Character" type="pds:Field_Character"> </xs:element>
            <xs:element name="Group_Field_Character" type="pds:Group_Field_Character"> </xs:element>
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Axis_Array">
    <xs:annotation>
      <xs:documentation> The Axis Array class is used as a component of the array class and defines an axis of the array. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="axis_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="elements" type="pds:elements" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="sequence_number" type="pds:sequence_number" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="Band_Bin_Set" type="pds:Band_Bin_Set" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Field_Binary">
    <xs:annotation>
      <xs:documentation> The Field_Binary class defines a field of a binary record or a field of a binary group. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Field">
        <xs:sequence>
          <xs:element name="field_location" type="pds:field_location" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="data_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="field_length" type="pds:field_length" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="field_format" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="unit" type="pds:UTF8_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="scaling_factor" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="value_offset" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Special_Constants" type="pds:Special_Constants" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Field_Statistics" type="pds:Field_Statistics" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Packed_Data_Fields" type="pds:Packed_Data_Fields" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Field_Character">
    <xs:annotation>
      <xs:documentation> The Field_Character class defines a field of a character record or a field of a character group. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Field">
        <xs:sequence>
          <xs:element name="field_location" type="pds:field_location" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="data_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="field_length" type="pds:field_length" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="field_format" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="unit" type="pds:UTF8_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="scaling_factor" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="value_offset" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Special_Constants" type="pds:Special_Constants" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Field_Statistics" type="pds:Field_Statistics" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Group_Field_Binary">
    <xs:annotation>
      <xs:documentation> The Group_Field_Binary class allows a group of table fields. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Group">
        <xs:sequence>
          <xs:element name="group_location" type="pds:group_location" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="group_length" type="pds:group_length" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:choice minOccurs="1" maxOccurs="unbounded">
            <xs:element name="Field_Binary" type="pds:Field_Binary"> </xs:element>
            <xs:element name="Group_Field_Binary" type="pds:Group_Field_Binary"> </xs:element>
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Group_Field_Character">
    <xs:annotation>
      <xs:documentation> The Group_Field_Character class allows a group of table fields. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Group">
        <xs:sequence>
          <xs:element name="group_location" type="pds:group_location" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="group_length" type="pds:group_length" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:choice minOccurs="1" maxOccurs="unbounded">
            <xs:element name="Field_Character" type="pds:Field_Character"> </xs:element>
            <xs:element name="Group_Field_Character" type="pds:Group_Field_Character"> </xs:element>
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Reference_List">
    <xs:annotation>
      <xs:documentation> The Reference_List class provides lists general references and cross-references for the product.  References cited elsewhere in the label need not be repeated here. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Internal_Reference" type="pds:Internal_Reference" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="External_Reference" type="pds:External_Reference" minOccurs="0" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Special_Constants">
    <xs:annotation>
      <xs:documentation> The Special Constants class provides a set of values used to indicate special cases that occur in the data. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="saturated_constant" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="missing_constant" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="error_constant" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="invalid_constant" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="unknown_constant" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="not_applicable_constant" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="valid_maximum" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="high_instrument_saturation" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="high_representation_saturation" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="valid_minimum" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="low_instrument_saturation" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="low_representation_saturation" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Internal_Reference">
    <xs:annotation>
      <xs:documentation> The Internal_Reference class is used to cross-reference other products in the PDS registry system. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:choice minOccurs="1" maxOccurs="1">
        <xs:element name="lid_reference" type="pds:ASCII_LID"> </xs:element>
        <xs:element name="lidvid_reference" type="pds:ASCII_LIDVID"> </xs:element>
      </xs:choice>
      <xs:element name="reference_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="comment" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Object_Statistics">
    <xs:annotation>
      <xs:documentation> The Object Statistics class provides a set of values that provide metrics about the object. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="standard_deviation" type="pds:standard_deviation" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="bit_mask" type="pds:ASCII_Numeric_Base2" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="median" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="md5_checksum" type="pds:md5_checksum" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_scaled_value" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_scaled_value" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="External_Reference">
    <xs:annotation>
      <xs:documentation> The External_Reference class is used to reference a source outside the PDS registry system. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="doi" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="reference_text" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Bundle">
    <xs:annotation>
      <xs:documentation> The Bundle class describes a collection of collections. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="bundle_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Collection">
    <xs:annotation>
      <xs:documentation> The Collection class provides a description of a set of products. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="collection_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Zip">
    <xs:annotation>
      <xs:documentation> The Zip class describes a zip file. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="container_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Document_Format">
    <xs:annotation>
      <xs:documentation> The Document Format provides a description of a variant of a logical document that is stored in a specific format. For example the PDS Standards Reference has HTML and PDF formatted versions. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="starting_point_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="format_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="File_Area">
    <xs:annotation>
      <xs:documentation> The File_Area class defines a File and its component data objects. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="File_Area_Browse">
    <xs:annotation>
      <xs:documentation> The File Area Browse class describes a file and one or more tagged_data_objects contained within the file. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:File_Area">
        <xs:sequence>
          <xs:element name="File" type="pds:File" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:choice minOccurs="1" maxOccurs="unbounded">
            <xs:element name="Array_2D" type="pds:Array_2D"> </xs:element>
            <xs:element name="Array_2D_Image" type="pds:Array_2D_Image"> </xs:element>
            <xs:element name="Array_2D_Map" type="pds:Array_2D_Map"> </xs:element>
            <xs:element name="Array_2D_Spectrum" type="pds:Array_2D_Spectrum"> </xs:element>
            <xs:element name="Array_3D" type="pds:Array_3D"> </xs:element>
            <xs:element name="Array_3D_Image" type="pds:Array_3D_Image"> </xs:element>
            <xs:element name="Array_3D_Movie" type="pds:Array_3D_Movie"> </xs:element>
            <xs:element name="Array_3D_Spectrum" type="pds:Array_3D_Spectrum"> </xs:element>
            <xs:element name="Encoded_Header" type="pds:Encoded_Header"> </xs:element>
            <xs:element name="Encoded_Image" type="pds:Encoded_Image"> </xs:element>
            <xs:element name="Header" type="pds:Header"> </xs:element>
            <xs:element name="Stream_Text" type="pds:Stream_Text"> </xs:element>
            <xs:element name="Table_Binary" type="pds:Table_Binary"> </xs:element>
            <xs:element name="Table_Character" type="pds:Table_Character"> </xs:element>
            <xs:element name="Table_Delimited" type="pds:Table_Delimited"> </xs:element>
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="File_Area_Encoded_Image">
    <xs:annotation>
      <xs:documentation> The File Area Encoded Image class describes a file that contains an Encoded Image object. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:File_Area">
        <xs:sequence>
          <xs:element name="File" type="pds:File" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Encoded_Image" type="pds:Encoded_Image" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="File_Area_Inventory">
    <xs:annotation>
      <xs:documentation> The File Area Inventory class describes a file and an inventory consisting of references to  members. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:File_Area">
        <xs:sequence>
          <xs:element name="File" type="pds:File" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Inventory" type="pds:Inventory" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="File_Area_Observational">
    <xs:annotation>
      <xs:documentation> The File Area Observational class describes, for an observational product, a file and one or more tagged_data_objects contained within the file. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:File_Area">
        <xs:sequence>
          <xs:element name="File" type="pds:File" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:choice minOccurs="1" maxOccurs="unbounded">
            <xs:element name="Array_2D" type="pds:Array_2D"> </xs:element>
            <xs:element name="Array_2D_Image" type="pds:Array_2D_Image"> </xs:element>
            <xs:element name="Array_2D_Map" type="pds:Array_2D_Map"> </xs:element>
            <xs:element name="Array_2D_Spectrum" type="pds:Array_2D_Spectrum"> </xs:element>
            <xs:element name="Array_3D" type="pds:Array_3D"> </xs:element>
            <xs:element name="Array_3D_Image" type="pds:Array_3D_Image"> </xs:element>
            <xs:element name="Array_3D_Movie" type="pds:Array_3D_Movie"> </xs:element>
            <xs:element name="Array_3D_Spectrum" type="pds:Array_3D_Spectrum"> </xs:element>
            <xs:element name="Encoded_Header" type="pds:Encoded_Header"> </xs:element>
            <xs:element name="Header" type="pds:Header"> </xs:element>
            <xs:element name="Stream_Text" type="pds:Stream_Text"> </xs:element>
            <xs:element name="Table_Binary" type="pds:Table_Binary"> </xs:element>
            <xs:element name="Table_Character" type="pds:Table_Character"> </xs:element>
            <xs:element name="Table_Delimited" type="pds:Table_Delimited"> </xs:element>
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="File_Area_SPICE_Kernel">
    <xs:annotation>
      <xs:documentation> The File Area SPICE Kernel class describes a file that contains a SPICE Kernel object. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:File_Area">
        <xs:sequence>
          <xs:element name="File" type="pds:File" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="SPICE_Kernel" type="pds:SPICE_Kernel" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="File_Area_Text">
    <xs:annotation>
      <xs:documentation> The File Area Text class describes a file that contains a text stream object. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:File_Area">
        <xs:sequence>
          <xs:element name="File" type="pds:File" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Stream_Text" type="pds:Stream_Text" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="File_Area_XML_Schema">
    <xs:annotation>
      <xs:documentation> The File Area XML Schema class describes a file that contains a resource used for the PDS4 implementation into XML. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:File_Area">
        <xs:sequence>
          <xs:element name="File" type="pds:File" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="XML_Schema" type="pds:XML_Schema" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Instrument">
    <xs:annotation>
      <xs:documentation> The Instrument class provides a description of a physical object that collects data. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="unbounded"> </xs:element>
      <xs:element name="model_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="naif_instrument_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="serial_number" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Document">
    <xs:annotation>
      <xs:documentation> The Document class describes a document. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="revision_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="document_name" type="pds:UTF8_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="doi" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="author_list" type="pds:UTF8_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="editor_list" type="pds:UTF8_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="acknowledgement_text" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="copyright" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="publication_date" nillable="true" type="pds:publication_date" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="File_Area_Observational_Supplemental">
    <xs:annotation>
      <xs:documentation> The File Area Observational Supplemental class describes, for an observational product, additional files and one or more tagged_data_objects contained within the file. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:File_Area">
        <xs:sequence>
          <xs:element name="File" type="pds:File" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:choice minOccurs="1" maxOccurs="unbounded">
            <xs:element name="Array_2D" type="pds:Array_2D"> </xs:element>
            <xs:element name="Array_2D_Image" type="pds:Array_2D_Image"> </xs:element>
            <xs:element name="Array_2D_Map" type="pds:Array_2D_Map"> </xs:element>
            <xs:element name="Array_2D_Spectrum" type="pds:Array_2D_Spectrum"> </xs:element>
            <xs:element name="Array_3D" type="pds:Array_3D"> </xs:element>
            <xs:element name="Array_3D_Image" type="pds:Array_3D_Image"> </xs:element>
            <xs:element name="Array_3D_Movie" type="pds:Array_3D_Movie"> </xs:element>
            <xs:element name="Array_3D_Spectrum" type="pds:Array_3D_Spectrum"> </xs:element>
            <xs:element name="Encoded_Binary" type="pds:Encoded_Binary"> </xs:element>
            <xs:element name="Encoded_Byte_Stream" type="pds:Encoded_Byte_Stream"> </xs:element>
            <xs:element name="Encoded_Header" type="pds:Encoded_Header"> </xs:element>
            <xs:element name="Encoded_Image" type="pds:Encoded_Image"> </xs:element>
            <xs:element name="Header" type="pds:Header"> </xs:element>
            <xs:element name="Parsable_Byte_Stream" type="pds:Parsable_Byte_Stream"> </xs:element>
            <xs:element name="Stream_Text" type="pds:Stream_Text"> </xs:element>
            <xs:element name="Table_Binary" type="pds:Table_Binary"> </xs:element>
            <xs:element name="Table_Character" type="pds:Table_Character"> </xs:element>
            <xs:element name="Table_Delimited" type="pds:Table_Delimited"> </xs:element>
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Instrument_Host">
    <xs:annotation>
      <xs:documentation> The Instrument Host class provides a description of the physical object upon which an instrument is mounted. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="version_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="naif_host_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="serial_number" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Document_Format_Set">
    <xs:annotation>
      <xs:documentation> The Document Format Set class is a set consisting of a document format and associated files. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Document_Format" type="pds:Document_Format" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="Document_File" type="pds:Document_File" minOccurs="1" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="File">
    <xs:annotation>
      <xs:documentation> The File class consists of attributes that describe a file in a data store. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="file_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="creation_date_time" type="pds:ASCII_Date_Time" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="file_size" type="pds:file_size" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="records" type="pds:records" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="md5_checksum" type="pds:md5_checksum" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="comment" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Investigation">
    <xs:annotation>
      <xs:documentation> The Investigation class provides a description of activities involved in the collection of data. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="start_date" type="pds:ASCII_Date_YMD" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="stop_date" nillable="true" type="pds:stop_date" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Document_File">
    <xs:annotation>
      <xs:documentation> The Document File class describes a file which is a part of a document. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:File">
        <xs:sequence>
          <xs:element name="directory_path_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="document_standard_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Target">
    <xs:annotation>
      <xs:documentation> The Target class provides a description of a physical object that is the object of data collection. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="type" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Agency">
    <xs:annotation>
      <xs:documentation> The Agency class provides a description of an entity that provides regional or national level governance over nodes within the federated Planetary Data System. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Alias">
    <xs:annotation>
      <xs:documentation> The Alias class provides a single alternate name and identification for this product in this or some other archive or data system. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="alternate_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="alternate_title" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="comment" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Array">
    <xs:annotation>
      <xs:documentation> The Array class defines a homogeneous N-dimensional array of scalars. The Array class is the parent class for all n-dimensional arrays of scalars. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Byte_Stream">
        <xs:sequence>
          <xs:element name="offset" type="pds:offset" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="axes" type="pds:axes" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="axis_index_order" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Element_Array" type="pds:Element_Array" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Axis_Array" type="pds:Axis_Array" minOccurs="0" maxOccurs="unbounded"> </xs:element>
          <xs:element name="Special_Constants" type="pds:Special_Constants" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Object_Statistics" type="pds:Object_Statistics" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Array_2D">
    <xs:annotation>
      <xs:documentation> The Array 2D class is the parent class for all two dimensional array based classes. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Array">
        <xs:sequence>
          <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="offset" type="pds:offset" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="axes" type="pds:axes" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="axis_index_order" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Element_Array" type="pds:Element_Array" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Axis_Array" type="pds:Axis_Array" minOccurs="2" maxOccurs="2"> </xs:element>
          <xs:element name="Special_Constants" type="pds:Special_Constants" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Object_Statistics" type="pds:Object_Statistics" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Array_2D_Image">
    <xs:annotation>
      <xs:documentation> The Array 2D Image class is an extension of the Array 2D class and defines a two dimensional image. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Array_2D">
        <xs:sequence>
          <xs:element name="Display_2D_Image" type="pds:Display_2D_Image" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Array_2D_Map">
    <xs:annotation>
      <xs:documentation> The Array 2D Map class is an extension of the Array 2D class and defines a  two dimensional map. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Array_2D">
        <xs:sequence>
          <xs:element name="Display_2D_Image" type="pds:Display_2D_Image" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Array_2D_Spectrum">
    <xs:annotation>
      <xs:documentation> The Array 2D Spectrum class is an extension of the Array 2D class and defines a  two dimensional spectrum. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Array_2D">
        <xs:sequence>
          <xs:element name="Display_2D_Image" type="pds:Display_2D_Image" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Array_3D">
    <xs:annotation>
      <xs:documentation> The Array 3D class is the parent class for all three dimensional array based classes. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Array">
        <xs:sequence>
          <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="offset" type="pds:offset" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="axes" type="pds:axes" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="axis_index_order" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Element_Array" type="pds:Element_Array" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Axis_Array" type="pds:Axis_Array" minOccurs="3" maxOccurs="3"> </xs:element>
          <xs:element name="Special_Constants" type="pds:Special_Constants" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Object_Statistics" type="pds:Object_Statistics" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Array_3D_Image">
    <xs:annotation>
      <xs:documentation> The Array 3D Image class is an extension of the Array 3D class and defines a  three dimensional image. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Array_3D">
        <xs:sequence>
          <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="offset" type="pds:offset" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="axes" type="pds:axes" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="axis_index_order" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Element_Array" type="pds:Element_Array" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Axis_Array" type="pds:Axis_Array" minOccurs="3" maxOccurs="3"> </xs:element>
          <xs:element name="Special_Constants" type="pds:Special_Constants" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Object_Statistics" type="pds:Object_Statistics" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Array_3D_Movie">
    <xs:annotation>
      <xs:documentation> The Array 3D  Movie class is an extension of the Array 3D class and defines a  movie as a set of two dimensional images in a time series. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Array_3D">
        <xs:sequence>
          <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="offset" type="pds:offset" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="axes" type="pds:axes" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="axis_index_order" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Element_Array" type="pds:Element_Array" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Axis_Array" type="pds:Axis_Array" minOccurs="3" maxOccurs="3"> </xs:element>
          <xs:element name="Special_Constants" type="pds:Special_Constants" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Object_Statistics" type="pds:Object_Statistics" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Array_3D_Spectrum">
    <xs:annotation>
      <xs:documentation> The Array 3D Spectrum class is an extension of the Array 3D class and defines a  three dimensional spectrum. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Array_3D">
        <xs:sequence>
          <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="offset" type="pds:offset" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="axes" type="pds:axes" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="axis_index_order" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Element_Array" type="pds:Element_Array" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Axis_Array" type="pds:Axis_Array" minOccurs="3" maxOccurs="3"> </xs:element>
          <xs:element name="Special_Constants" type="pds:Special_Constants" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Object_Statistics" type="pds:Object_Statistics" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Band_Bin">
    <xs:annotation>
      <xs:documentation> The Band_Bin class specifies the characteristics of an individual spectral band in a spectral qube. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="band_number" type="pds:band_number" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="band_width" type="pds:band_width" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="center_wavelength" type="pds:center_wavelength" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="detector_number" type="pds:detector_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="filter_number" type="pds:filter_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="grating_position" type="pds:grating_position" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="original_band" type="pds:original_band" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="standard_deviation" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="scaling_factor" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="value_offset" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Band_Bin_Set">
    <xs:annotation>
      <xs:documentation> The Band_Bin_Set class contains the spectral characteristics for all the spectral bands in a qube. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Band_Bin" type="pds:Band_Bin" minOccurs="1" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Bundle_Member_Entry">
    <xs:annotation>
      <xs:documentation> The Bundle Member Entry class provides a member reference to a collection. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:choice minOccurs="1" maxOccurs="1">
        <xs:element name="lid_reference" type="pds:ASCII_LID"> </xs:element>
        <xs:element name="lidvid_reference" type="pds:ASCII_LIDVID"> </xs:element>
      </xs:choice>
      <xs:element name="member_status" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="reference_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Byte_Stream">
    <xs:annotation>
      <xs:documentation> The Byte Stream class defines a stream of bytes. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Checksum_Manifest">
    <xs:annotation>
      <xs:documentation> The Checksum_Manifest class defines a two column table for file references and checksums. The table structure is compatible with the output from an MD5 checksum utility. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Stream_Text">
        <xs:sequence>
          <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="offset" type="pds:offset" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="object_length" type="pds:object_length" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="parsing_standard_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="record_delimiter" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="DD_Association">
    <xs:annotation>
      <xs:documentation> The DD_Association class defines the association between two classes or a class and an attribute in a data dictionary. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="unbounded"> </xs:element>
      <xs:element name="reference_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_occurrences" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_occurrences" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="constant_value" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DD_Association_External">
    <xs:annotation>
      <xs:documentation> The DD_Association_External class defines the association between classes and attributes within the local data dictionary and those external to the local data dictionary. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="namespace_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="reference_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_occurrences" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_occurrences" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DD_Attribute">
    <xs:annotation>
      <xs:documentation> The DD_Attribute class defines an attribute for a data dictionary. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="version_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="nillable_flag" type="pds:ASCII_Boolean" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="submitter_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="definition" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="comment" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Internal_Reference" type="pds:Internal_Reference" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="Terminological_Entry" type="pds:Terminological_Entry" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="DD_Value_Domain" type="pds:DD_Value_Domain" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DD_Attribute_Full">
    <xs:annotation>
      <xs:documentation> The DD_Attribute_Full class provides a more complete definition of an attribute in the data dictionary. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="version_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="class_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="steward_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="namespace_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="nillable_flag" type="pds:ASCII_Boolean" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="submitter_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="definition" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="comment" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="registered_by" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="registration_authority_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="attribute_concept" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="Terminological_Entry" type="pds:Terminological_Entry" minOccurs="1" maxOccurs="unbounded"> </xs:element>
      <xs:element name="DD_Value_Domain_Full" type="pds:DD_Value_Domain_Full" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DD_Class">
    <xs:annotation>
      <xs:documentation> The DD_Class class defines a class for a data dictionary. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="version_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="submitter_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="definition" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="abstract_flag" type="pds:ASCII_Boolean" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Internal_Reference" type="pds:Internal_Reference" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:choice minOccurs="1" maxOccurs="unbounded">
        <xs:element name="DD_Association" type="pds:DD_Association"> </xs:element>
        <xs:element name="DD_Association_External" type="pds:DD_Association_External"> </xs:element>
      </xs:choice>
      <xs:element name="Terminological_Entry" type="pds:Terminological_Entry" minOccurs="0" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DD_Class_Full">
    <xs:annotation>
      <xs:documentation> The DD_Class_Full class provides a more complete definition of a class for a data dictionary. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="version_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="steward_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="namespace_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="submitter_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="definition" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="comment" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="registered_by" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="registration_authority_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="abstract_flag" type="pds:ASCII_Boolean" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="DD_Association" type="pds:DD_Association" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="Terminological_Entry" type="pds:Terminological_Entry" minOccurs="0" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DD_Permissible_Value">
    <xs:annotation>
      <xs:documentation> The DD_Permissible_Value class lists permissible values and their meanings. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="value" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="value_meaning" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DD_Permissible_Value_Full">
    <xs:annotation>
      <xs:documentation> The DD_Permissible_Value_Full class lists permissible values, their meanings, and the dates when active. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="value" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="value_meaning" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="value_begin_date" type="pds:ASCII_Date_Time_YMD" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="value_end_date" type="pds:ASCII_Date_Time_YMD" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DD_Value_Domain">
    <xs:annotation>
      <xs:documentation> The DD_Value_Domain class defines an attribute's permissible values and their constraints. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="enumeration_flag" type="pds:ASCII_Boolean" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="value_data_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="formation_rule" type="pds:ASCII_Text_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_characters" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_characters" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_value" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_value" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pattern" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="unit_of_measure_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="specified_unit_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="DD_Permissible_Value" type="pds:DD_Permissible_Value" minOccurs="0" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DD_Value_Domain_Full">
    <xs:annotation>
      <xs:documentation> The DD_Value_Domain_Full class provides a more complete definition of a attribute's value domain. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="enumeration_flag" type="pds:ASCII_Boolean" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="value_data_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="formation_rule" type="pds:ASCII_Text_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_characters" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_characters" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum_value" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum_value" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="pattern" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="unit_of_measure_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="conceptual_domain" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="specified_unit_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="DD_Permissible_Value_Full" type="pds:DD_Permissible_Value_Full" minOccurs="0" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Data_Set_PDS3">
    <xs:annotation>
      <xs:documentation> The Data Set PDS3 class is used to capture the data set information from the PDS3 Data Set Catalog. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="data_set_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="data_set_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="data_set_release_date" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="start_date_time" nillable="true" type="pds:start_date_time" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="stop_date_time" nillable="true" type="pds:stop_date_time" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="producer_full_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="citation_text" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="data_set_terse_desc" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="abstract_desc" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="data_set_desc" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="confidence_level_note" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="archive_status" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="NSSDC" type="pds:NSSDC" minOccurs="0" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Display_2D_Image">
    <xs:annotation>
      <xs:documentation> The Display_2D_Image class provides attributes to enable the display of a 2 dimensional image. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="line_display_direction" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="sample_display_direction" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Encoded_Binary">
    <xs:annotation>
      <xs:documentation> The Encoded Binary class describes a binary encoded byte stream. This class is used to describe files in the repository that are being registered using  Product_File_Repository. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Encoded_Byte_Stream">
        <xs:sequence>
          <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="offset" type="pds:offset" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="object_length" type="pds:object_length" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="encoding_standard_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Encoded_Byte_Stream">
    <xs:annotation>
      <xs:documentation> The Encoded Byte Stream class defines byte streams that must be decoded by software before use. These byte streams must only use standard encodings. The Encoded Byte Stream class is the parent class for all encoded byte streams. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Byte_Stream">
        <xs:sequence>
          <xs:element name="offset" type="pds:offset" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="object_length" type="pds:object_length" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="encoding_standard_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Encoded_Image">
    <xs:annotation>
      <xs:documentation> The Encoded Image class is used for ancillary images in standard formats, such as JPEG. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Encoded_Byte_Stream">
        <xs:sequence>
          <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="offset" type="pds:offset" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="object_length" type="pds:object_length" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="encoding_standard_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="External_Reference_Extended">
    <xs:annotation>
      <xs:documentation> The External_Reference_Extended class is used to reference a source outside the PDS registry system. This extension is used in the local data dictionary. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:External_Reference">
        <xs:sequence>
          <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="url" type="pds:ASCII_AnyURI" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Facility">
    <xs:annotation>
      <xs:documentation> The Facility class provides a name and address for a  terrestrial observatory or laboratory. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="type" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="address" type="pds:UTF8_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="country" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Field">
    <xs:annotation>
      <xs:documentation> The Field class defines a field of a record and is the parent class of all specific field classes.The Field class defines a field of a record or a field of a group and is the parent class of all specific field classes. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="field_number" type="pds:field_number" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Field_Bit">
    <xs:annotation>
      <xs:documentation> The Field_Bit class provides parameters for extracting one field out of a string of bytes which contains packed data (that is, data values either smaller than a single byte, or crossing byte boundaries, or both. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Field">
        <xs:sequence>
          <xs:element name="start_bit" type="pds:start_bit" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="stop_bit" type="pds:stop_bit" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="data_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="field_format" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="unit" type="pds:UTF8_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="scaling_factor" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="value_offset" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Special_Constants" type="pds:Special_Constants" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Field_Delimited">
    <xs:annotation>
      <xs:documentation> The Field_Delimited class defines a field of a delimited record or a field of a delimited group. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Field">
        <xs:sequence>
          <xs:element name="data_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="maximum_field_length" type="pds:maximum_field_length" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="field_format" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="unit" type="pds:UTF8_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="scaling_factor" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="value_offset" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Special_Constants" type="pds:Special_Constants" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Field_Statistics" type="pds:Field_Statistics" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Field_Statistics">
    <xs:annotation>
      <xs:documentation> The Field Statistics class provides a set of metrics for a column formed by a field in a repeating record. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="maximum" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="minimum" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mean" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="standard_deviation" type="pds:standard_deviation" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="median" type="pds:ASCII_Real" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="File_Area_Binary">
    <xs:annotation>
      <xs:documentation> The File Area Binary class describes a file that contains an encoded byte stream. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:File_Area">
        <xs:sequence>
          <xs:element name="File" type="pds:File" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Encoded_Binary" type="pds:Encoded_Binary" minOccurs="0" maxOccurs="unbounded"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="File_Area_Checksum_Manifest">
    <xs:annotation>
      <xs:documentation> The File Area Checksum Manifest class describes a file that contains a two column table for file references and checksums. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:File_Area">
        <xs:sequence>
          <xs:element name="File" type="pds:File" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Checksum_Manifest" type="pds:Checksum_Manifest" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="File_Area_Service_Description">
    <xs:annotation>
      <xs:documentation> The File Area Service Description class describes a file that contains a service description. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:File_Area">
        <xs:sequence>
          <xs:element name="File" type="pds:File" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Service_Description" type="pds:Service_Description" minOccurs="1" maxOccurs="unbounded"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="File_Area_Transfer_Manifest">
    <xs:annotation>
      <xs:documentation> The File Area Transfer Manifest class describes a file that contains a two column table that maps the logical identifiers and version ids of products to their file specification names. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:File_Area">
        <xs:sequence>
          <xs:element name="File" type="pds:File" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Transfer_Manifest" type="pds:Transfer_Manifest" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Group">
    <xs:annotation>
      <xs:documentation> The Group class defines a group of (repeating) fields and, possibly, (sub) groups; it is the parent class of all specific group classes. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="group_number" type="pds:ASCII_Integer" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="repetitions" type="pds:repetitions" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="fields" type="pds:fields" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="groups" type="pds:groups" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Group_Field_Delimited">
    <xs:annotation>
      <xs:documentation> The Field_Group_Delimited class allows a group of delimited fields. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Group">
        <xs:sequence>
          <xs:choice minOccurs="1" maxOccurs="unbounded">
            <xs:element name="Field_Delimited" type="pds:Field_Delimited"> </xs:element>
            <xs:element name="Group_Field_Delimited" type="pds:Group_Field_Delimited"> </xs:element>
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Information_Package">
    <xs:annotation>
      <xs:documentation> The Information Package class defines the Information Package as described in the OAIS Reference Model and is the parent class of all specific IP classes. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Information_Package_Component">
    <xs:annotation>
      <xs:documentation> The Information_Package_Component class associates a Bundle, Collections or Basic Products with Checksum and Storage Manifests. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="checksum_manifest_checksum" type="pds:ASCII_MD5_Checksum" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="checksum_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="transfer_manifest_checksum" type="pds:ASCII_MD5_Checksum" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Internal_Reference" type="pds:Internal_Reference" minOccurs="1" maxOccurs="unbounded"> </xs:element>
      <xs:element name="File_Area_Checksum_Manifest" type="pds:File_Area_Checksum_Manifest" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="File_Area_Transfer_Manifest" type="pds:File_Area_Transfer_Manifest" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Instrument_Host_PDS3">
    <xs:annotation>
      <xs:documentation> The Instrument Host class provides a description of the phyiscal object upon which an instrument is mounted. This class captures the PDS3 catalog Instrument Host information. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="instrument_host_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="instrument_host_desc" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="instrument_host_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="instrument_host_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Instrument_PDS3">
    <xs:annotation>
      <xs:documentation> The Instrument class provides a description of a phyiscal object that collects data. This class captures the PDS3 catalog Instrument information. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="instrument_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="instrument_desc" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="instrument_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="instrument_serial_number" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="instrument_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="instrument_version_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Inventory">
    <xs:annotation>
      <xs:documentation> The Inventory class defines the inventory for members of a collection. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Table_Delimited">
        <xs:sequence>
          <xs:element name="reference_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Mission_PDS3">
    <xs:annotation>
      <xs:documentation> The Mission PDS3 class describes an activity involved in the collection of data. This class captures the PDS3 catalog Mission information. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="mission_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="mission_desc" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="mission_objectives_summary" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="mission_start_date" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="mission_stop_date" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NSSDC">
    <xs:annotation>
      <xs:documentation> The NSSDC Information class provides identification information for data submitted to the NSSDC. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="medium_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="nssdc_collection_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Node">
    <xs:annotation>
      <xs:documentation> The Node class provides a description of an entity that provides local governance within the federated Planetary Data System. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="institution_name" type="pds:institution_name" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Other">
    <xs:annotation>
      <xs:documentation> The Other class provides a description of activities involved in the collection of data which are not otherwise modeled. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PDS_Affiliate">
    <xs:annotation>
      <xs:documentation> The PDS Affiliate class provides a description of a person who has an association with the planetary science community and has access to PDS resources not normally allowed to the general public. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="registration_date" type="pds:ASCII_Date_YMD" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="electronic_mail_address" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="sort_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="affiliation_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="alternate_telephone_number" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="institution_name" type="pds:institution_name" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="phone_book_flag" type="pds:ASCII_Boolean" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="postal_address_text" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="team_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="telephone_number" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PDS_Guest">
    <xs:annotation>
      <xs:documentation> The PDS_Guest class is the default description of a person who has an association with the planetary science community and who has the most limited access to PDS resources. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="registration_date" type="pds:ASCII_Date_YMD" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="electronic_mail_address" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="sort_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Packed_Data_Fields">
    <xs:annotation>
      <xs:documentation> The Packed_Data_Fields class contains field definitions for extracting packed data from the associated byte string field. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="bit_fields" type="pds:bit_fields" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Field_Bit" type="pds:Field_Bit" minOccurs="1" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Parsable_Byte_Stream">
    <xs:annotation>
      <xs:documentation> The Parsable Byte Stream class defines byte streams that have standard parsing rules. The Parsable Byte Stream class is the parent class for all parsable byte streams. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Byte_Stream">
        <xs:sequence>
          <xs:element name="offset" type="pds:offset" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="object_length" type="pds:object_length" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="parsing_standard_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Product">
    <xs:annotation>
      <xs:documentation> A Product is a uniquely identified object that is managed by a registry/repository. It consists of one or more tagged data objects. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Identification_Area" type="pds:Identification_Area" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Quaternion">
    <xs:annotation>
      <xs:documentation> The Quaternion class models a mathematical construct that consists of four individual numeric components.  Quaternions are a convenient mechanism for encapsulating orientation information since they require only four units of numeric storage, as opposed to the nine needed for a rotation matrix. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="Quaternion_Component" type="pds:Quaternion_Component" minOccurs="4" maxOccurs="4"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Quaternion_Component">
    <xs:annotation>
      <xs:documentation> The Quaternion_Component class provides a component of a quaternion. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="data_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="value" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="sequence_number" type="pds:sequence_number" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Record">
    <xs:annotation>
      <xs:documentation> The Record class defines a record of a file and is the parent class of all specific record classes. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="fields" type="pds:fields" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="groups" type="pds:groups" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Record_Delimited">
    <xs:annotation>
      <xs:documentation> The Record_Delimited class is a component of the delimited table (spreadsheet) class and defines a record of the delimited table. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Record">
        <xs:sequence>
          <xs:element name="maximum_record_length" type="pds:maximum_record_length" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:choice minOccurs="1" maxOccurs="unbounded">
            <xs:element name="Field_Delimited" type="pds:Field_Delimited"> </xs:element>
            <xs:element name="Group_Field_Delimited" type="pds:Group_Field_Delimited"> </xs:element>
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Resource">
    <xs:annotation>
      <xs:documentation> The Resource class provides a description of a web resource. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="url" type="pds:ASCII_AnyURI" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SPICE_Kernel">
    <xs:annotation>
      <xs:documentation> The SPICE Kernel class describes a SPICE object. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Parsable_Byte_Stream">
        <xs:sequence>
          <xs:element name="kernel_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="encoding_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Service_Description">
    <xs:annotation>
      <xs:documentation> The Service Description class defines a file that contains a standardized service specification. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Parsable_Byte_Stream">
        <xs:sequence>
          <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="offset" type="pds:offset" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="object_length" type="pds:object_length" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="parsing_standard_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Software">
    <xs:annotation>
      <xs:documentation> The Software class describes a software product </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="version_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="author_list" type="pds:UTF8_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="programmers_manual_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="software_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="software_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="users_manual_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Software_Binary">
    <xs:annotation>
      <xs:documentation> The Software Script class provides a description of a software code that is stored as a compiled binary file. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="files" type="pds:files" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="os_version" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="unbounded"> </xs:element>
      <xs:element name="program_notes_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="software_format_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="supported_architecture_note" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="unbounded"> </xs:element>
      <xs:element name="supported_operating_system_note" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="unbounded"> </xs:element>
      <xs:element name="system_requirements_note" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Software_Script">
    <xs:annotation>
      <xs:documentation> The Software Script class provides a description of a software code that is stored as a script. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="files" type="pds:files" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="install_note" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="supported_environment_note" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="system_requirements_note" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Software_Source">
    <xs:annotation>
      <xs:documentation> The Software Script class provides a description of a software code that is stored as source code. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="compile_note" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="files" type="pds:files" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="os_version" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="program_notes_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="software_dialect" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="software_format_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="software_language" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="supported_architecture_note" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="unbounded"> </xs:element>
      <xs:element name="supported_operating_system_note" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="unbounded"> </xs:element>
      <xs:element name="system_requirements_note" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Stream_Text">
    <xs:annotation>
      <xs:documentation> The Stream text class defines a text object. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Parsable_Byte_Stream">
        <xs:sequence>
          <xs:element name="record_delimiter" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Subscriber_PDS3">
    <xs:annotation>
      <xs:documentation> The Subscriber PDS3 class provides the name of the subscriber and their subscription list. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="full_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="subscription_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Table_Base">
    <xs:annotation>
      <xs:documentation> The Table Base class defines a heterogeneous repeating record of scalars. The Table Base class is the parent class for all heterogeneous repeating record of scalars. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Byte_Stream">
        <xs:sequence>
          <xs:element name="offset" type="pds:offset" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="records" type="pds:records" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Table_Binary">
    <xs:annotation>
      <xs:documentation> The Table Binary class is an extension of table base and defines a simple binary table. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Table_Base">
        <xs:sequence>
          <xs:element name="record_delimiter" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Uniformly_Sampled" type="pds:Uniformly_Sampled" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Record_Binary" type="pds:Record_Binary" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Table_Character">
    <xs:annotation>
      <xs:documentation> The Table Character class is an extension of table base and defines a simple character table. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Table_Base">
        <xs:sequence>
          <xs:element name="record_delimiter" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Uniformly_Sampled" type="pds:Uniformly_Sampled" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Record_Character" type="pds:Record_Character" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Table_Delimited">
    <xs:annotation>
      <xs:documentation> The Table_Delimited class defines a simple table (spreadsheet) with delimited fields and records. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="pds:Parsable_Byte_Stream">
        <xs:sequence>
          <xs:element name="records" type="pds:records" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="record_delimiter" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="field_delimiter" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Uniformly_Sampled" type="pds:Uniformly_Sampled" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Record_Delimited" type="pds:Record_Delimited" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Target_PDS3">
    <xs:annotation>
      <xs:documentation> The Target class provides a description of a phyiscal object that is the object of data collection. This class captures the PDS3 catalog Target information. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="target_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="orbit_direction" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="primary_body_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="rotation_direction" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="target_desc" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="target_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Telescope">
    <xs:annotation>
      <xs:documentation> The Telescope class provides coordinates and parameters for terrestrial, ground-based telescopes. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="aperture" type="pds:aperture" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="telescope_longitude" type="pds:telescope_longitude" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="telescope_latitude" type="pds:telescope_latitude" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="altitude" type="pds:altitude" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="coordinate_source" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Terminological_Entry">
    <xs:annotation>
      <xs:documentation> The terminological_entry class provides the name (designation) and definition of the attribute in a specified natural language. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:UTF8_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="definition" type="pds:UTF8_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="language" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="preferred_flag" type="pds:ASCII_Boolean" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="External_Reference_Extended" type="pds:External_Reference_Extended" minOccurs="0" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Transfer_Manifest">
    <xs:annotation>
      <xs:documentation> The Transfer_Manifest class defines a table that maps product LIDVIDs to the file_specificaition_names of the products' XML label files. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Table_Character">
        <xs:sequence>
          <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="offset" type="pds:offset" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="records" type="pds:records" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="record_delimiter" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="Uniformly_Sampled" type="pds:Uniformly_Sampled" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="Record_Character" type="pds:Record_Character" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Update">
    <xs:annotation>
      <xs:documentation> The Update class consists of update information. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Update_Entry" type="pds:Update_Entry" minOccurs="1" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Update_Entry">
    <xs:annotation>
      <xs:documentation> The Update Entry class provides the date and description of an update. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="date_time" type="pds:ASCII_Date_Time" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="full_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="Internal_Reference" type="pds:Internal_Reference" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Vector">
    <xs:annotation>
      <xs:documentation> The Vector class provides the components of either a velocity or position vector. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="data_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="reference_frame_id" nillable="true" type="pds:reference_frame_id" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="vector_components" type="pds:ASCII_Integer" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="Vector_Component" type="pds:Vector_Component" minOccurs="1" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Vector_Cartesian_3">
    <xs:annotation>
      <xs:documentation> The Vector_Cartesian_3_Base class is the parent class of 3 element Cartesian vectors. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="reference_frame_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="x" type="pds:ASCII_Real" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="y" type="pds:ASCII_Real" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="z" type="pds:ASCII_Real" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
  </xs:complexType>

  <xs:complexType name="Vector_Cartesian_3_Acceleration">
    <xs:annotation>
      <xs:documentation> The Vector_Cartesian_3_Acceleration class is a 3 element Cartesian vector for acceleration coordinates. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Vector_Cartesian_3">
        <xs:sequence>
          <xs:element name="reference_frame_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="x" type="pds:ASCII_Real" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="y" type="pds:ASCII_Real" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="z" type="pds:ASCII_Real" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Vector_Cartesian_3_Pointing">
    <xs:annotation>
      <xs:documentation> The Vector_Cartesian_3_Pointing class is a 3 element normalized Cartesian vector for pointing. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Vector_Cartesian_3">
        <xs:sequence>
          <xs:element name="reference_frame_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="x" type="pds:ASCII_Real" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="y" type="pds:ASCII_Real" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="z" type="pds:ASCII_Real" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Vector_Cartesian_3_Position">
    <xs:annotation>
      <xs:documentation> The Vector_Cartesian_3_Position class is a 3 element Cartesian vector for position coordinates. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Vector_Cartesian_3">
        <xs:sequence>
          <xs:element name="reference_frame_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="x" type="pds:ASCII_Real" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="y" type="pds:ASCII_Real" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="z" type="pds:ASCII_Real" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Vector_Cartesian_3_Velocity">
    <xs:annotation>
      <xs:documentation> The Vector_Cartesian_3_Velocity class is a 3 element Cartesian vector for velocity coordinates. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Vector_Cartesian_3">
        <xs:sequence>
          <xs:element name="reference_frame_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="x" type="pds:ASCII_Real" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="y" type="pds:ASCII_Real" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="z" type="pds:ASCII_Real" minOccurs="1" maxOccurs="1"> </xs:element>
        </xs:sequence>
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="Vector_Component">
    <xs:annotation>
      <xs:documentation> The Vector_Component class provides a component of a vector. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="unit" type="pds:UTF8_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="value" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="sequence_number" type="pds:sequence_number" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Volume_PDS3">
    <xs:annotation>
      <xs:documentation> The Volume_PDS3 class is used to capture the volume information from the PDS3 Data Set Catalog. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="archive_status" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="archive_status_note" type="pds:archive_status_note" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="curating_node_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="medium_type" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="publication_date" nillable="true" type="pds:publication_date" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="volume_de_fullname" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="volume_format" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="volume_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="volume_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="volume_set_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="volume_size" type="pds:ASCII_NonNegative_Integer" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="volume_version_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Volume_Set_PDS3">
    <xs:annotation>
      <xs:documentation> The Volume_Set_PDS3 class is used to capture the volume set information from the PDS3 Data Set Catalog. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="volume_series_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="volume_set_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="volume_set_name" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="volumes" type="pds:volumes" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="XML_Schema">
    <xs:annotation>
      <xs:documentation> The XML Schema class defines a resource used for the PDS4 implementation into XML. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="pds:Parsable_Byte_Stream">
        <xs:sequence>
          <xs:element name="name" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="local_identifier" type="pds:ASCII_Short_String_Collapsed" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="offset" type="pds:offset" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="object_length" type="pds:object_length" minOccurs="0" maxOccurs="1"> </xs:element>
          <xs:element name="parsing_standard_id" type="pds:ASCII_Short_String_Collapsed" minOccurs="1" maxOccurs="1"> </xs:element>
          <xs:element name="description" type="pds:ASCII_Text_Preserved" minOccurs="0" maxOccurs="1"> </xs:element>
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </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
        pds namespace.
      </xs:documentation>
    </xs:annotation>

  <xs:simpleType name="altitude_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <!-- unit_of_measure_type=Units_of_Length -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="altitude">
    <xs:simpleContent>
      <xs:extension base="pds:altitude_WO_Units">
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
        <!-- specified_unit_id=m -->
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="aperture_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <!-- unit_of_measure_type=Units_of_Length -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="aperture">
    <xs:simpleContent>
      <xs:extension base="pds:aperture_WO_Units">
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
        <!-- specified_unit_id=m -->
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="archive_status_note">
    <xs:restriction base="pds:ASCII_Text_Preserved">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="axes">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
     <xs:maxInclusive value="16"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="band_number">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
     <xs:maxInclusive value="512"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="band_width_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <!-- unit_of_measure_type=Units_of_Length -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="band_width">
    <xs:simpleContent>
      <xs:extension base="pds:band_width_WO_Units">
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
        <!-- specified_unit_id=TBD_default_unit_id -->
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="bit_fields">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="center_wavelength_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <!-- unit_of_measure_type=Units_of_Length -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="center_wavelength">
    <xs:simpleContent>
      <xs:extension base="pds:center_wavelength_WO_Units">
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
        <!-- specified_unit_id=TBD_default_unit_id -->
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="detector_number">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="elements">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="field_length_WO_Units">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
     <!-- unit_of_measure_type=Units_of_Storage -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="field_length">
    <xs:simpleContent>
      <xs:extension base="pds:field_length_WO_Units">
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
        <!-- specified_unit_id=byte -->
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="field_location_WO_Units">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
     <!-- unit_of_measure_type=Units_of_Storage -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="field_location">
    <xs:simpleContent>
      <xs:extension base="pds:field_location_WO_Units">
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
        <!-- specified_unit_id=byte -->
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="field_number">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="fields">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="file_size_WO_Units">
    <xs:restriction base="pds:ASCII_NonNegative_Integer">
     <xs:minInclusive value="0"/>
     <!-- unit_of_measure_type=Units_of_Storage -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="file_size">
    <xs:simpleContent>
      <xs:extension base="pds:file_size_WO_Units">
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
        <!-- specified_unit_id=byte -->
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="files">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="filter_number">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="grating_position">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="0"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="group_length_WO_Units">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
     <!-- unit_of_measure_type=Units_of_Storage -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="group_length">
    <xs:simpleContent>
      <xs:extension base="pds:group_length_WO_Units">
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
        <!-- specified_unit_id=byte -->
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="group_location_WO_Units">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
     <!-- unit_of_measure_type=Units_of_Storage -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="group_location">
    <xs:simpleContent>
      <xs:extension base="pds:group_location_WO_Units">
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
        <!-- specified_unit_id=byte -->
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="groups">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="0"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="institution_name">
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
    	<xs:pattern value='[a-zA-Z]{1}([-/, ._a-zA-Z0-9]*)'/>
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ldd_version_id">
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
    	<xs:pattern value='([0-9]+)(\.){1}([0-9]+)'/>
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="local_mean_solar_time">
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="8"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="local_true_solar_time">
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="8"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="maximum_field_length_WO_Units">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
     <!-- unit_of_measure_type=Units_of_Storage -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="maximum_field_length">
    <xs:simpleContent>
      <xs:extension base="pds:maximum_field_length_WO_Units">
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
        <!-- specified_unit_id=byte -->
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="maximum_record_length_WO_Units">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
     <!-- unit_of_measure_type=Units_of_Storage -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="maximum_record_length">
    <xs:simpleContent>
      <xs:extension base="pds:maximum_record_length_WO_Units">
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
        <!-- specified_unit_id=byte -->
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="md5_checksum">
    <xs:restriction base="pds:ASCII_MD5_Checksum">
  <!-- format="0123456789abcdef" -->
    	<xs:pattern value='([a-f0-9]{32})'/>
     <xs:minLength value="32"/>
     <xs:maxLength value="32"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="object_length_WO_Units">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
     <!-- unit_of_measure_type=Units_of_Storage -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="object_length">
    <xs:simpleContent>
      <xs:extension base="pds:object_length_WO_Units">
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
        <!-- specified_unit_id=byte -->
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="offset_WO_Units">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="0"/>
     <!-- unit_of_measure_type=Units_of_Storage -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="offset">
    <xs:simpleContent>
      <xs:extension base="pds:offset_WO_Units">
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
        <!-- specified_unit_id=byte -->
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="original_band">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
     <xs:maxInclusive value="512"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="publication_date">
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Date_YMD">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="record_length_WO_Units">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
     <!-- unit_of_measure_type=Units_of_Storage -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="record_length">
    <xs:simpleContent>
      <xs:extension base="pds:record_length_WO_Units">
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
        <!-- specified_unit_id=byte -->
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="records">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="reference_frame_id">
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Short_String_Collapsed">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="repetitions">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="sequence_number">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
     <xs:maxInclusive value="16"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="solar_longitude_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="360"/>
     <!-- unit_of_measure_type=Units_of_Angle -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="solar_longitude">
    <xs:simpleContent>
      <xs:extension base="pds:solar_longitude_WO_Units">
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
        <!-- specified_unit_id=deg -->
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

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

  <xs:simpleType name="start_bit">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="start_date_time">
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Date_Time_UTC">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="stop_bit">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="1"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="stop_date">
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Date_YMD">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="stop_date_time">
    <xs:simpleContent>
      <xs:extension base="pds:ASCII_Date_Time_UTC">
        <xs:attribute name="nilReason" type="pds:nil_reason" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="telescope_latitude_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-90"/>
     <xs:maxInclusive value="90"/>
     <!-- unit_of_measure_type=Units_of_Angle -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="telescope_latitude">
    <xs:simpleContent>
      <xs:extension base="pds:telescope_latitude_WO_Units">
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
        <!-- specified_unit_id=deg -->
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="telescope_longitude_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
     <!-- unit_of_measure_type=Units_of_Angle -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="telescope_longitude">
    <xs:simpleContent>
      <xs:extension base="pds:telescope_longitude_WO_Units">
        <xs:attribute name="unit" type="pds:ASCII_Short_String_Collapsed" use="required" />
        <!-- specified_unit_id=deg -->
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="version_id">
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
    	<xs:pattern value='([0-9]+)(\.){1}([0-9]+)'/>
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="volumes">
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="0"/>
	   </xs:restriction>
  </xs:simpleType>

    <xs:annotation>
      <xs:documentation>This section contains the base data types for PDS4 and any constraints those types
        may have. These types should be reused across schemas to promote compatibility. This is one
        component of the common dictionary and thus falls into the common namespace, pds.
      </xs:documentation>
    </xs:annotation>

    <xs:simpleType name="ASCII_AnyURI">
      <xs:restriction base="xs:anyURI">
        <xs:pattern value='\p{IsBasicLatin}*'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_Boolean">
      <xs:restriction base="xs:boolean">
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_DOI">
      <xs:restriction base="xs:string">
        <xs:pattern value='10\.\S+/\S+'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_Date">
      <xs:restriction base="xs:string">
        <xs:pattern value='(-)?[0-9]{4}'/>
        <xs:pattern value='(-)?[0-9]{4}-((00[1-9])|(0[1-9][0-9])|([1-2][0-9][0-9])|(3(([0-5][0-9])|(6[0-6]))))'/>
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))'/>
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_Date_DOY">
      <xs:restriction base="xs:string">
        <xs:pattern value='(-)?[0-9]{4}'/>
        <xs:pattern value='(-)?[0-9]{4}-((00[1-9])|(0[1-9][0-9])|([1-2][0-9][0-9])|(3(([0-5][0-9])|(6[0-6]))))'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_Date_Time">
      <xs:restriction base="xs:string">
        <xs:pattern value='(-)?[0-9]{4}'/>
        <xs:pattern value='(-)?[0-9]{4}-((00[1-9])|(0[1-9][0-9])|([1-2][0-9][0-9])|(3(([0-5][0-9])|(6[0-6]))))'/>
        <xs:pattern value='(-)?[0-9]{4}-((00[1-9])|(0[1-9][0-9])|([1-2][0-9][0-9])|(3(([0-5][0-9])|(6[0-6]))))(T)(([0-1][0-9])|(2[0-3])):[0-5][0-9](Z)?'/>
        <xs:pattern value='(-)?[0-9]{4}-((00[1-9])|(0[1-9][0-9])|([1-2][0-9][0-9])|(3(([0-5][0-9])|(6[0-6]))))(T)(([0-1][0-9])|(2[0-3])):[0-5][0-9]:(([0-5][0-9])|60)(\.([0-9]{1,4}))?(Z)?'/>
        <xs:pattern value='(-)?[0-9]{4}-((00[1-9])|(0[1-9][0-9])|([1-2][0-9][0-9])|(3(([0-5][0-9])|(6[0-6]))))(T)(([0-1][0-9])|(2[0-4]))(Z)?'/>
        <xs:pattern value='(-)?[0-9]{4}-((00[1-9])|(0[1-9][0-9])|([1-2][0-9][0-9])|(3(([0-5][0-9])|(6[0-6]))))(T)24:00((:00((\.0+)?))?)(Z)?'/>
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))'/>
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))'/>
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))(T)(([0-1][0-9])|(2[0-3])):[0-5][0-9](Z)?'/>
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))(T)(([0-1][0-9])|(2[0-3])):[0-5][0-9]:(([0-5][0-9])|60)(\.([0-9]{1,4}))?(Z)?'/>
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))(T)(([0-1][0-9])|(2[0-4]))(Z)?'/>
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))(T)24:00((:00((\.0+)?))?)(Z)?'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_Date_Time_DOY">
      <xs:restriction base="xs:string">
        <xs:pattern value='(-)?[0-9]{4}-((00[1-9])|(0[1-9][0-9])|([1-2][0-9][0-9])|(3(([0-5][0-9])|(6[0-6]))))(T)(([0-1][0-9])|(2[0-3])):[0-5][0-9](Z)?'/>
        <xs:pattern value='(-)?[0-9]{4}-((00[1-9])|(0[1-9][0-9])|([1-2][0-9][0-9])|(3(([0-5][0-9])|(6[0-6]))))(T)(([0-1][0-9])|(2[0-3])):[0-5][0-9]:(([0-5][0-9])|60)(\.([0-9]{1,4}))?(Z)?'/>
        <xs:pattern value='(-)?[0-9]{4}-((00[1-9])|(0[1-9][0-9])|([1-2][0-9][0-9])|(3(([0-5][0-9])|(6[0-6]))))(T)(([0-1][0-9])|(2[0-4]))(Z)?'/>
        <xs:pattern value='(-)?[0-9]{4}-((00[1-9])|(0[1-9][0-9])|([1-2][0-9][0-9])|(3(([0-5][0-9])|(6[0-6]))))(T)24:00((:00((\.0+)?))?)(Z)?'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_Date_Time_UTC">
      <xs:restriction base="xs:string">
        <xs:pattern value=''/>
        <xs:pattern value='(-)?[0-9]{4}(Z)'/>
        <xs:pattern value='(-)?[0-9]{4}-((00[1-9])|(0[1-9][0-9])|([1-2][0-9][0-9])|(3(([0-5][0-9])|(6[0-6]))))(T)(([0-1][0-9])|(2[0-3])):[0-5][0-9](Z)'/>
        <xs:pattern value='(-)?[0-9]{4}-((00[1-9])|(0[1-9][0-9])|([1-2][0-9][0-9])|(3(([0-5][0-9])|(6[0-6]))))(T)(([0-1][0-9])|(2[0-3])):[0-5][0-9]:(([0-5][0-9])|60)(\.([0-9]{1,4}))?(Z)'/>
        <xs:pattern value='(-)?[0-9]{4}-((00[1-9])|(0[1-9][0-9])|([1-2][0-9][0-9])|(3(([0-5][0-9])|(6[0-6]))))(T)(([0-1][0-9])|(2[0-4]))(Z)'/>
        <xs:pattern value='(-)?[0-9]{4}-((00[1-9])|(0[1-9][0-9])|([1-2][0-9][0-9])|(3(([0-5][0-9])|(6[0-6]))))(T)24:00((:00((\.0+)?))?)(Z)'/>
        <xs:pattern value='(-)?[0-9]{4}-((00[1-9])|(0[1-9][0-9])|([1-2][0-9][0-9])|(3(([0-5][0-9])|(6[0-6]))))(Z)'/>
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))(Z)'/>
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))(T)(([0-1][0-9])|(2[0-3])):[0-5][0-9](Z)'/>
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))(T)(([0-1][0-9])|(2[0-3])):[0-5][0-9]:(([0-5][0-9])|60)(\.([0-9]{1,4}))?(Z)'/>
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))(T)(([0-1][0-9])|(2[0-4]))(Z)'/>
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))(T)24:00((:00((\.0+)?))?)(Z)'/>
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))(Z)'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_Date_Time_YMD">
      <xs:restriction base="xs:string">
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))(T)(([0-1][0-9])|(2[0-3])):[0-5][0-9](Z)?'/>
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))(T)(([0-1][0-9])|(2[0-3])):[0-5][0-9]:(([0-5][0-9])|60)(\.([0-9]{1,4}))?(Z)?'/>
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))(T)(([0-1][0-9])|(2[0-4]))(Z)?'/>
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))(T)24:00((:00((\.0+)?))?)(Z)?'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_Date_YMD">
      <xs:restriction base="xs:string">
        <xs:pattern value='(-)?[0-9]{4}'/>
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))'/>
        <xs:pattern value='(-)?[0-9]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_Directory_Path_Name">
      <xs:restriction base="xs:token">
        <xs:minLength value="1"/>
        <xs:maxLength value="255"/>
        <xs:pattern value='\p{IsBasicLatin}*'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_File_Name">
      <xs:restriction base="xs:token">
        <xs:minLength value="1"/>
        <xs:maxLength value="255"/>
        <xs:pattern value='\p{IsBasicLatin}*'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_File_Specification_Name">
      <xs:restriction base="xs:token">
        <xs:minLength value="1"/>
        <xs:maxLength value="255"/>
        <xs:pattern value='\p{IsBasicLatin}*'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_Integer">
      <xs:restriction base="xs:int">
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_LID">
      <xs:restriction base="xs:string">
        <xs:minLength value="14"/>
        <xs:maxLength value="255"/>
        <xs:pattern value='\p{IsBasicLatin}*'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_LIDVID">
      <xs:restriction base="xs:string">
        <xs:minLength value="19"/>
        <xs:maxLength value="255"/>
        <xs:pattern value='\p{IsBasicLatin}*'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_LIDVID_LID">
      <xs:restriction base="xs:string">
        <xs:minLength value="14"/>
        <xs:maxLength value="255"/>
        <xs:pattern value='\p{IsBasicLatin}*'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_MD5_Checksum">
      <xs:restriction base="xs:string">
        <xs:minLength value="32"/>
        <xs:maxLength value="32"/>
        <xs:pattern value='[0-9a-fA-F]{32}'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_NonNegative_Integer">
      <xs:restriction base="xs:long">
        <xs:minInclusive value="0"/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_Numeric_Base16">
      <xs:restriction base="xs:hexBinary">
        <xs:minLength value="1"/>
        <xs:maxLength value="255"/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_Numeric_Base2">
      <xs:restriction base="xs:string">
        <xs:minLength value="1"/>
        <xs:maxLength value="255"/>
        <xs:pattern value='[0-1]{1,255}'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_Numeric_Base8">
      <xs:restriction base="xs:string">
        <xs:minLength value="1"/>
        <xs:maxLength value="255"/>
        <xs:pattern value='[0-7]{1,255}'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_Real">
      <xs:restriction base="xs:double">
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_Short_String_Collapsed">
      <xs:restriction base="xs:token">
        <xs:minLength value="1"/>
        <xs:maxLength value="255"/>
        <xs:pattern value='\p{IsBasicLatin}*'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_Short_String_Preserved">
      <xs:restriction base="xs:string">
        <xs:minLength value="1"/>
        <xs:maxLength value="255"/>
        <xs:pattern value='\p{IsBasicLatin}*'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_String">
      <xs:restriction base="xs:token">
        <xs:minLength value="1"/>
        <xs:pattern value='\p{IsBasicLatin}*'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_Text_Collapsed">
      <xs:restriction base="xs:token">
        <xs:minLength value="1"/>
        <xs:pattern value='\p{IsBasicLatin}*'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_Text_Preserved">
      <xs:restriction base="xs:string">
        <xs:minLength value="1"/>
        <xs:pattern value='\p{IsBasicLatin}*'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_Time">
      <xs:restriction base="xs:string">
        <xs:pattern value='(([0-1][0-9])|(2[0-3])):[0-5][0-9](Z|)'/>
        <xs:pattern value='(([0-1][0-9])|(2[0-3])):[0-5][0-9]:(([0-5][0-9])|60)((\.[0-9]+)|)(Z|)'/>
        <xs:pattern value='(([0-1][0-9])|(2[0-4]))(Z|)'/>
        <xs:pattern value='24:00((:00((\.0+)|))|)(Z|)'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ASCII_VID">
      <xs:restriction base="xs:string">
        <xs:minLength value="3"/>
        <xs:maxLength value="100"/>
        <xs:pattern value='0\.([1-9]|([0-9][0-9]+))'/>
        <xs:pattern value='[1-9][0-9]*'/>
        <xs:pattern value='[1-9][0-9]*\.[0-9]+'/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="UTF8_Short_String_Collapsed">
      <xs:restriction base="xs:token">
        <xs:minLength value="1"/>
        <xs:maxLength value="255"/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="UTF8_Short_String_Preserved">
      <xs:restriction base="xs:string">
        <xs:minLength value="1"/>
        <xs:maxLength value="255"/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="UTF8_String">
      <xs:restriction base="xs:token">
        <xs:minLength value="1"/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="UTF8_Text_Preserved">
      <xs:restriction base="xs:string">
        <xs:minLength value="1"/>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Acceleration">
      <xs:restriction base="xs:string">
        <xs:enumeration value="cm/s**2"></xs:enumeration>
        <xs:enumeration value="km/s**2"></xs:enumeration>
        <xs:enumeration value="m/s**2"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Amount_Of_Substance">
      <xs:restriction base="xs:string">
        <xs:enumeration value="mol"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Angle">
      <xs:restriction base="xs:string">
        <xs:enumeration value="arcmin"></xs:enumeration>
        <xs:enumeration value="arcsec"></xs:enumeration>
        <xs:enumeration value="deg"></xs:enumeration>
        <xs:enumeration value="hr"></xs:enumeration>
        <xs:enumeration value="mrad"></xs:enumeration>
        <xs:enumeration value="rad"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Angular_Velocity">
      <xs:restriction base="xs:string">
        <xs:enumeration value="deg/day"></xs:enumeration>
        <xs:enumeration value="deg/s"></xs:enumeration>
        <xs:enumeration value="rad/s"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Area">
      <xs:restriction base="xs:string">
        <xs:enumeration value="m**2"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Frame_Rate">
      <xs:restriction base="xs:string">
        <xs:enumeration value="frames/s"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Frequency">
      <xs:restriction base="xs:string">
        <xs:enumeration value="Hz"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Length">
      <xs:restriction base="xs:string">
        <xs:enumeration value="AU"></xs:enumeration>
        <xs:enumeration value="Angstrom"></xs:enumeration>
        <xs:enumeration value="cm"></xs:enumeration>
        <xs:enumeration value="km"></xs:enumeration>
        <xs:enumeration value="m"></xs:enumeration>
        <xs:enumeration value="micrometer"></xs:enumeration>
        <xs:enumeration value="mm"></xs:enumeration>
        <xs:enumeration value="nm"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Map_Scale">
      <xs:restriction base="xs:string">
        <xs:enumeration value="km/pixel"></xs:enumeration>
        <xs:enumeration value="m/pixel"></xs:enumeration>
        <xs:enumeration value="mm/pixel"></xs:enumeration>
        <xs:enumeration value="pixel/deg"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Mass">
      <xs:restriction base="xs:string">
        <xs:enumeration value="g"></xs:enumeration>
        <xs:enumeration value="kg"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Misc">
      <xs:restriction base="xs:string">
        <xs:enumeration value="DN"></xs:enumeration>
        <xs:enumeration value="electron/DN"></xs:enumeration>
        <xs:enumeration value="pixel"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_None">
      <xs:restriction base="xs:string">
        <xs:enumeration value="none"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Optical_Path_Length">
      <xs:restriction base="xs:string">
        <xs:enumeration value="airmass"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Pressure">
      <xs:restriction base="xs:string">
        <xs:enumeration value="Pa"></xs:enumeration>
        <xs:enumeration value="bar"></xs:enumeration>
        <xs:enumeration value="hPa"></xs:enumeration>
        <xs:enumeration value="mbar"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Radiance">
      <xs:restriction base="xs:string">
        <xs:enumeration value="W*m**-2*sr**-1"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Rates">
      <xs:restriction base="xs:string">
        <xs:enumeration value="counts/bin"></xs:enumeration>
        <xs:enumeration value="kilobits/s"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Solid_Angle">
      <xs:restriction base="xs:string">
        <xs:enumeration value="sr"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Storage">
      <xs:restriction base="xs:string">
        <xs:enumeration value="byte"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Temperature">
      <xs:restriction base="xs:string">
        <xs:enumeration value="K"></xs:enumeration>
        <xs:enumeration value="degC"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Time">
      <xs:restriction base="xs:string">
        <xs:enumeration value="day"></xs:enumeration>
        <xs:enumeration value="hr"></xs:enumeration>
        <xs:enumeration value="julian day"></xs:enumeration>
        <xs:enumeration value="microseconds"></xs:enumeration>
        <xs:enumeration value="min"></xs:enumeration>
        <xs:enumeration value="ms"></xs:enumeration>
        <xs:enumeration value="s"></xs:enumeration>
        <xs:enumeration value="yr"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Velocity">
      <xs:restriction base="xs:string">
        <xs:enumeration value="cm/s"></xs:enumeration>
        <xs:enumeration value="km/s"></xs:enumeration>
        <xs:enumeration value="m/s"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Voltage">
      <xs:restriction base="xs:string">
        <xs:enumeration value="V"></xs:enumeration>
        <xs:enumeration value="mV"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Units_of_Volume">
      <xs:restriction base="xs:string">
        <xs:enumeration value="L"></xs:enumeration>
        <xs:enumeration value="m**3"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="nil_reason" >
      <xs:list itemType='pds:nil_reason_list'>
      </xs:list>
    </xs:simpleType>
    <xs:simpleType name="nil_reason_list">
      <xs:restriction base="xs:string">
        <xs:enumeration value="inapplicable"></xs:enumeration>
        <xs:enumeration value="anticipated"></xs:enumeration>
        <xs:enumeration value="missing"></xs:enumeration>
        <xs:enumeration value="unknown"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

  <xs:element name="Ingest_LDD" type="pds:Ingest_LDD">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Ingest_LDD XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_AIP" type="pds:Product_AIP">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_AIP XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Attribute_Definition" type="pds:Product_Attribute_Definition">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Attribute_Definition XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Browse" type="pds:Product_Browse">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Browse XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Bundle" type="pds:Product_Bundle">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Bundle XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Class_Definition" type="pds:Product_Class_Definition">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Class_Definition XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Collection" type="pds:Product_Collection">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Collection XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Context" type="pds:Product_Context">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Context XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_DIP" type="pds:Product_DIP">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_DIP XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_DIP_Deep_Archive" type="pds:Product_DIP_Deep_Archive">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_DIP_Deep_Archive XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Data_Set_PDS3" type="pds:Product_Data_Set_PDS3">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Data_Set_PDS3 XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Document" type="pds:Product_Document">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Document XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_File_Repository" type="pds:Product_File_Repository">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_File_Repository XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_File_Text" type="pds:Product_File_Text">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_File_Text XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Instrument_Host_PDS3" type="pds:Product_Instrument_Host_PDS3">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Instrument_Host_PDS3 XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Instrument_PDS3" type="pds:Product_Instrument_PDS3">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Instrument_PDS3 XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Mission_PDS3" type="pds:Product_Mission_PDS3">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Mission_PDS3 XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Observational" type="pds:Product_Observational">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Observational XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Proxy_PDS3" type="pds:Product_Proxy_PDS3">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Proxy_PDS3 XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_SIP" type="pds:Product_SIP">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_SIP XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_SPICE_Kernel" type="pds:Product_SPICE_Kernel">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_SPICE_Kernel XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Service" type="pds:Product_Service">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Service XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Software" type="pds:Product_Software">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Software XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Subscription_PDS3" type="pds:Product_Subscription_PDS3">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Subscription_PDS3 XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Target_PDS3" type="pds:Product_Target_PDS3">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Target_PDS3 XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Thumbnail" type="pds:Product_Thumbnail">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Thumbnail XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Update" type="pds:Product_Update">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Update XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Volume_PDS3" type="pds:Product_Volume_PDS3">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Volume_PDS3 XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Volume_Set_PDS3" type="pds:Product_Volume_Set_PDS3">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Volume_Set_PDS3 XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_XML_Schema" type="pds:Product_XML_Schema">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_XML_Schema XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="Product_Zipped" type="pds:Product_Zipped">
    <xs:annotation>
      <xs:documentation>
        This element is the PDS4 Product_Zipped XML Schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>
</xs:schema>
