spase-amda-1_3_0.xsd 15.7 KB
<?xml version="1.0" encoding="UTF-8"?>
<!-- Extends for AMDA the spase schema contained in "spase-2_2_8.xsd" -->
<!-- Version: 1.3.0 -->
<!-- Addition of ProviderName -->
<!-- Addition of Cadence_Min,Cadence_Max -->
<!-- Addition of Ucd -->
<!-- Modification of ObservedRegion List: Addition of Callisto,Ganymede,Europa,Io -->
<!-- Addition of Mass Range and Pitch Angle Range pour Parameter/Particle -->
<!-- Addition of ProviderAcknowlegment --> 
<!-- Addition of Mixed in the AccessRights list -->
<!-- Addition of RestrictedAccessStartDate to TemporalDescription/TimeSpan -->
<!-- maxOccurs changed to unbounded in Observatory/OperatingSpan -->
<!-- Generated: 2016-12-06 15:22:49.951 -->
<xsd:schema
   targetNamespace="http://www.spase-group.org/data/schema"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
   xmlns:spase="http://www.spase-group.org/data/schema"
   elementFormDefault="qualified"
   attributeFormDefault="unqualified"
   vc:minVersion="1.1"
   version="1.0.0">
   
   <!-- "override" does an implicit "include" of the referenced schema, then redfines the element -->
   <xsd:override schemaLocation="http://www.spase-group.org/data/schema/spase-2_2_8.xsd">
      <xsd:complexType name="Spase">
         <xsd:annotation>
            <xsd:documentation xml:lang="en">
               
            </xsd:documentation>
         </xsd:annotation>
         <xsd:sequence>
            <xsd:element name="Version" type="spase:Version" minOccurs="1" maxOccurs="1" />
            <xsd:choice minOccurs="1" maxOccurs="unbounded">
               <xsd:element name="Catalog" type="spase:Catalog"  />   
               <xsd:element name="DisplayData" type="spase:DisplayData"  />   
               <xsd:element name="NumericalData" type="spase:NumericalData"  />   
               <xsd:element name="Document" type="spase:Document"  />   
               <xsd:element name="Granule" type="spase:Granule"  />   
               <xsd:element name="Instrument" type="spase:Instrument"  />   
               <xsd:element name="Observatory" type="spase:Observatory"  />   
               <xsd:element name="Person" type="spase:Person"  />   
               <xsd:element name="Registry" type="spase:Registry"  />   
               <xsd:element name="Repository" type="spase:Repository"  />   
               <xsd:element name="Service" type="spase:Service"  />   
               <xsd:element name="Annotation" type="spase:Annotation"  />   
            </xsd:choice>
         </xsd:sequence>
            <xsd:attribute name="lang" type="xsd:string" default="en"/>
      </xsd:complexType>
         <xsd:complexType name="NumericalData">
            <xsd:annotation>
               <xsd:documentation xml:lang="en">
                  Data stored as numerical values in one or
                  more specified formats. A Numerical Data resource
                  is a type of &quot;data product&quot; which is a set
                  of data that is uniformly processed and formatted,
                  from one or more instruments, typically spanning
                  the full duration of the observations of the
                  relevant instrument(s). A data product may
                  consist of Parameters stored in a collection
                  of granules of successive time spans or a
                  single data granule.
               </xsd:documentation>
            </xsd:annotation>
            <xsd:sequence>
               <xsd:element name="ResourceID" type="spase:ResourceID" minOccurs="1" maxOccurs="1" />
               <xsd:element name="ResourceHeader" type="spase:ResourceHeader" minOccurs="1" maxOccurs="1" />
               <xsd:element name="AccessInformation" type="spase:AccessInformation" minOccurs="1" maxOccurs="unbounded" />
               <xsd:element name="ProviderName" type="spase:ProviderName" minOccurs="0" maxOccurs="1"></xsd:element> <!-- added -->
               <xsd:element name="ProcessingLevel" type="spase:ProcessingLevel" minOccurs="0" maxOccurs="1" />
               <xsd:element name="ProviderResourceName" type="spase:ProviderResourceName" minOccurs="0" maxOccurs="1" />
               <xsd:element name="ProviderAcknowlegment" type="spase:Acknowledgement" minOccurs="0" maxOccurs="1"/>  <!-- added -->
               <xsd:element name="ProviderProcessingLevel" type="spase:ProviderProcessingLevel" minOccurs="0" maxOccurs="1" />
               <xsd:element name="ProviderVersion" type="spase:ProviderVersion" minOccurs="0" maxOccurs="1" />
               <xsd:element name="InstrumentID" type="spase:InstrumentID" minOccurs="0" maxOccurs="unbounded" />
               <xsd:element name="MeasurementType" type="spase:MeasurementType" minOccurs="1" maxOccurs="unbounded" />
               <xsd:element name="TemporalDescription" type="spase:TemporalDescription" minOccurs="0" maxOccurs="1" /> <!-- redefined  -->
               <xsd:element name="SpectralRange" type="spase:SpectralRange" minOccurs="0" maxOccurs="unbounded" />
               <xsd:element name="ObservedRegion" type="spase:Region" minOccurs="0" maxOccurs="unbounded" />
               <xsd:element name="Caveats" type="spase:Caveats" minOccurs="0" maxOccurs="1" />
               <xsd:element name="Keyword" type="spase:Keyword" minOccurs="0" maxOccurs="unbounded" />
               <xsd:element name="InputResourceID" type="spase:InputResourceID" minOccurs="0" maxOccurs="unbounded" />
               <xsd:element name="Parameter" type="spase:Parameter" minOccurs="0" maxOccurs="unbounded" /> <!-- redefined  -->
               <xsd:element name="Extension" type="spase:Extension" minOccurs="0" maxOccurs="unbounded" />
            </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="TemporalDescription">
            <xsd:annotation>
               <xsd:documentation xml:lang="en">
                  A characterization of the time over which
                  the measurement was taken.
               </xsd:documentation>
            </xsd:annotation>
            <xsd:sequence>
               <xsd:element name="TimeSpan" type="spase:TimeSpan" minOccurs="1" maxOccurs="1" />
               <xsd:element name="Cadence" type="spase:Cadence" minOccurs="0" maxOccurs="1" />
               <xsd:element name="Cadence_Min" type="spase:Cadence" minOccurs="0" maxOccurs="1"/> <!-- added  -->
               <xsd:element name="Cadence_Max" type="spase:Cadence" minOccurs="0" maxOccurs="1"/> <!-- added  -->
               <xsd:element name="Exposure" type="spase:Exposure" minOccurs="0" maxOccurs="1" />
            </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="Parameter">
            <xsd:annotation>
               <xsd:documentation xml:lang="en">
                  A container of information regarding a parameter
                  whose values are part of the product. Every
                  product contains or can be related to one
                  or more parameters.
               </xsd:documentation>
            </xsd:annotation>
            <xsd:sequence>
               <xsd:element name="Name" type="spase:Name" minOccurs="1" maxOccurs="1" />
               <xsd:element name="Set" type="spase:Set" minOccurs="0" maxOccurs="unbounded" />
               <xsd:element name="ParameterKey" type="spase:ParameterKey" minOccurs="0" maxOccurs="1" />
               <xsd:element name="Description" type="spase:Description" minOccurs="0" maxOccurs="1" />
               <xsd:element name="Ucd" type="spase:Ucd" minOccurs="0" maxOccurs="1" /> <!-- added  -->
               <xsd:element name="Caveats" type="spase:Caveats" minOccurs="0" maxOccurs="1" />
               <xsd:element name="Cadence" type="spase:Cadence" minOccurs="0" maxOccurs="1" />
               <xsd:element name="Units" type="spase:Units" minOccurs="0" maxOccurs="1" />
               <xsd:element name="UnitsConversion" type="spase:UnitsConversion" minOccurs="0" maxOccurs="1" />
               <xsd:element name="CoordinateSystem" type="spase:CoordinateSystem" minOccurs="0" maxOccurs="1" />
               <xsd:element name="RenderingHints" type="spase:RenderingHints" minOccurs="0" maxOccurs="unbounded" />
               <xsd:element name="Structure" type="spase:Structure" minOccurs="0" maxOccurs="1" />
               <xsd:element name="ValidMin" type="spase:ValidMin" minOccurs="0" maxOccurs="1" />
               <xsd:element name="ValidMax" type="spase:ValidMax" minOccurs="0" maxOccurs="1" />
               <xsd:element name="FillValue" type="spase:FillValue" minOccurs="0" maxOccurs="1" />
               <xsd:choice minOccurs="1" maxOccurs="1">
                  <xsd:element name="Field" type="spase:Field"  />
                  <xsd:element name="Particle" type="spase:Particle"  />
                  <xsd:element name="Wave" type="spase:Wave"  />
                  <xsd:element name="Mixed" type="spase:Mixed"  />
                  <xsd:element name="Support" type="spase:Support"  />
               </xsd:choice>
            </xsd:sequence>
         </xsd:complexType>
      <xsd:complexType name="Particle">
         <xsd:annotation>
            <xsd:documentation xml:lang="en">
               A description of the types of particles observed
               in the measurement. This includes both direct
               observations and inferred observations.
            </xsd:documentation>
         </xsd:annotation>
         <xsd:sequence>
            <xsd:element name="ParticleType" type="spase:ParticleType" minOccurs="1" maxOccurs="unbounded" />
            <xsd:element name="Qualifier" type="spase:Qualifier" minOccurs="0" maxOccurs="unbounded" />
            <xsd:element name="ParticleQuantity" type="spase:ParticleQuantity" minOccurs="1" maxOccurs="1" />
            <xsd:element name="AtomicNumber" type="spase:AtomicNumber" minOccurs="0" maxOccurs="unbounded" />
            <xsd:element name="EnergyRange" type="spase:EnergyRange" minOccurs="0" maxOccurs="1" />
            <xsd:element name="AzimuthalAngleRange" type="spase:AzimuthalAngleRange" minOccurs="0" maxOccurs="1" />
            <xsd:element name="PolarAngleRange" type="spase:PolarAngleRange" minOccurs="0" maxOccurs="1" />
            <xsd:element name="MassRange" type="spase:MassRange" minOccurs="0" maxOccurs="1" />  <!-- added  -->
            <xsd:element name="PitchAngleRange" type="spase:PitchAngleRange" minOccurs="0" maxOccurs="1" />  <!-- added  -->
         </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="TimeSpan">
         <xsd:annotation>
            <xsd:documentation xml:lang="en">
               The duration of an interval in time.
            </xsd:documentation>
         </xsd:annotation>
         <xsd:sequence>
            <xsd:element name="StartDate" type="spase:StartDate" minOccurs="1" maxOccurs="1" />
            <xsd:element name="RestrictedAccessStartDate" type="spase:StartDate" minOccurs="0" maxOccurs="1"/> <!-- added  -->
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element name="StopDate" type="spase:StopDate"  />
               <xsd:element name="RelativeStopDate" type="spase:RelativeStopDate"  />
            </xsd:choice>
            <xsd:element name="Note" type="spase:Note" minOccurs="0" maxOccurs="unbounded" />
         </xsd:sequence>
      </xsd:complexType>
      <xsd:simpleType name="AccessRights">
         <xsd:annotation>
            <xsd:documentation xml:lang="en">
               Identifiers for permissions granted or denied
               by the host of a product to allow other users
               to access and use the resource.
            </xsd:documentation>
         </xsd:annotation>
         <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Open">
               <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                     Access is granted to everyone.
                  </xsd:documentation>
               </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="Restricted">
               <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                     Access to the product is regulated and requires
                     some form of identification.
                  </xsd:documentation>
               </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="Mixed"> <!-- added  -->
               <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                     Access is granted to everyone , but Access is regulated and requires
                     some form of identification for a part of the product.
                  </xsd:documentation>
               </xsd:annotation>
            </xsd:enumeration>
         </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="Observatory">
         <xsd:annotation>
            <xsd:documentation xml:lang="en">
               The host (spacecraft, network, facility) for
               instruments making observations, or a family
               of closely related hosts.
            </xsd:documentation>
         </xsd:annotation>
         <xsd:sequence>
            <xsd:element name="ResourceID" type="spase:ResourceID" minOccurs="1" maxOccurs="1" />
            <xsd:element name="ResourceHeader" type="spase:ResourceHeader" minOccurs="1" maxOccurs="1" />
            <xsd:element name="ObservatoryGroupID" type="spase:ObservatoryGroupID" minOccurs="0" maxOccurs="unbounded" />
            <xsd:element name="Location" type="spase:Location" minOccurs="1" maxOccurs="1" />
            <xsd:element name="OperatingSpan" type="spase:OperatingSpan" minOccurs="0" maxOccurs="unbounded" /> <!-- maxOccurs modified -->
            <xsd:element name="Extension" type="spase:Extension" minOccurs="0" maxOccurs="unbounded" />
         </xsd:sequence>
      </xsd:complexType>
     </xsd:override>
   
   <xsd:simpleType name="ProviderName"> <!-- added  -->
      <xsd:annotation></xsd:annotation>
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>
   <xsd:simpleType name="Ucd"> <!-- added  -->
      <xsd:annotation></xsd:annotation>
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>
   <xsd:complexType name="MassRange"> <!-- added  -->
      <xsd:annotation>
         <xsd:documentation xml:lang="en">
            The minimum and maximum mass values of the
            particles represented by a given &quot;physical
            parameter&quot; description.
         </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element name="Low" type="spase:Low" minOccurs="1" maxOccurs="1" />
         <xsd:element name="High" type="spase:High" minOccurs="1" maxOccurs="1" />
         <xsd:element name="Units" type="spase:Units" minOccurs="1" maxOccurs="1" />
         <xsd:element name="Bin" type="spase:Bin" minOccurs="0" maxOccurs="unbounded" />
      </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="PitchAngleRange"> <!-- added  -->
      <xsd:annotation>
         <xsd:documentation xml:lang="en">
            The minimum and maximum pitch angle values of the
            particles represented by a given &quot;physical
            parameter&quot; description.
         </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element name="Low" type="spase:Low" minOccurs="1" maxOccurs="1" />
         <xsd:element name="High" type="spase:High" minOccurs="1" maxOccurs="1" />
         <xsd:element name="Units" type="spase:Units" minOccurs="1" maxOccurs="1" />
         <xsd:element name="Bin" type="spase:Bin" minOccurs="0" maxOccurs="unbounded" />
      </xsd:sequence>
   </xsd:complexType>
 </xsd:schema>