<?xml version="1.0" encoding="UTF-8"?>
  <!-- PDS4 XML/Schema for Name Space Id:av  Version:1.0.1.0 - Mon Sep 21 23:35:16 UTC 2026 -->
  <!-- Generated from the PDS4 Information Model Version 1.26.0.0 - System Build 16.1	 -->
  <!-- *** This PDS4 product schema is an operational deliverable. *** -->
  <!--                                                                           -->
  <!--               Dictionary Stack                                            -->
  <!-- 1.26.0.0 - pds: - Common Dictionary                                       -->
  <!-- 1.0.1.0 - av: - Audio_Video                                               -->
  <!--                                                                           -->
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://pds.nasa.gov/pds4/av/v1"
    xmlns:av="http://pds.nasa.gov/pds4/av/v1"
    xmlns:pds="http://pds.nasa.gov/pds4/pds/v1"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    version="1.0.1.0">
 
    <xs:import namespace="http://pds.nasa.gov/pds4/pds/v1" schemaLocation="https://pds.nasa.gov/pds4/pds/v1/PDS4_PDS_1Q00.xsd"/>
 
  <xs:annotation>
    <xs:documentation>
 This dictionary contains high level classes and attributes used in audio and visual products. It also
    contains classes with attributes used during active mission operations. Many of these classes are designed to be
    extended into local mission dictionaries.
    
    ## CHANGE LOG ## 1.0.0.0 - initial version

    1.0.1.0 - R. Deen 
    - Changed video_frame_rate and acquisition_frame rate from units of frequency to units of frame_rate.
      This is a backward-incompatible change, but the LDD has been published for less than an hour so I think
      this won't break anything and addresses a bug (it was inconsistent across acquisition, intermediate, and
      video frame rates, and frame_rate is technically not quite the same as frequency).
      
  
    </xs:documentation>
  </xs:annotation>
 
  <xs:element name="Audio_Video" type="av:Audio_Video"> </xs:element>

  <xs:complexType name="AV_Container">
    <xs:annotation>
      <xs:documentation>Contains metadata related to the Audio/Video
        container, and a set of Tracks for each component of the A/V
        container. Note that the Local_Internal_Reference points to the
        local_identifier in this label of the container to which this
        metadata applies (useful if there is more than
        one)</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element ref="pds:Local_Internal_Reference" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="container_type" type="av:container_type" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="avg_bitrate" type="av:avg_bitrate" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="create_date" type="av:create_date" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="modify_date" type="av:modify_date" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="device_description" type="av:device_description" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="duration" type="av:duration" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="duration_seconds" type="av:duration_seconds" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="major_brand" type="av:major_brand" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="megapixels" type="av:megapixels" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="preferred_rate" type="av:preferred_rate" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="preferred_volume" type="av:preferred_volume" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="time_scale" type="av:time_scale" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Track" type="av:Track" minOccurs="0" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="av:container_type = ('M4A', 'MP4', 'None', 'Other', 'WAV')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="Audio_Track">
    <xs:annotation>
      <xs:documentation>Class describing an Audio
        track</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="audio_codec" type="av:audio_codec" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="audio_format" type="av:audio_format" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="audio_bits_per_sample" type="av:audio_bits_per_sample" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="audio_channels" type="av:audio_channels" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="audio_sample_rate" type="av:audio_sample_rate" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="balance" type="av:balance" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="media_language_code" type="av:media_language_code" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="av:audio_codec = ('AAC', 'Other', 'WAV')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="Audio_Video">
    <xs:annotation>
      <xs:documentation>The Audio_Video class contains metadata for
        Encoded_Audio or Encoded_Video data. Most attributes are taken
        directly from the EXIF/XMP keywords often found in A/V files. If
        there is any ambiguity in the definitions, refer to the EXIF/XMP
        standards for clarification. This metadata herein is not
        intended to be comprehensive; it is a subset of the available
        metadata, wihch is part of the stream itself. This subset is
        intended to facilitate searching using PDS tools and thus
        contains those items most likely to be useful for
        searches.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AV_Container" type="av:AV_Container" minOccurs="1" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Track">
    <xs:annotation>
      <xs:documentation>Class containing information relating to a Track
        within the stream (typically the audio or video portions
        separated). This class contains metadata common to all Tracks.
        Children Audio_Track and Video_Track hold metadata specific to
        those kinds of tracks. Other types of tracks (e.g. Metadata) may
        not have a child.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="handler_class" type="av:handler_class" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="handler_description" type="av:handler_description" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="handler_type" type="av:handler_type" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="content_describes" type="av:content_describes" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="meta_format" type="av:meta_format" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="track_id" type="av:track_id" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="track_duration" type="av:track_duration" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="track_duration_seconds" type="av:track_duration_seconds" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="track_layer" type="av:track_layer" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="track_volume" type="av:track_volume" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:choice minOccurs="0" maxOccurs="1">
        <xs:element name="Audio_Track" type="av:Audio_Track"> </xs:element>
        <xs:element name="Video_Track" type="av:Video_Track"> </xs:element>
      </xs:choice>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="av:handler_class = ('Data Handler', 'Media Handler')"/> -->
    <!-- <xs:assert test="av:handler_type = ('Alias Data', 'Audio Track', 'Camera Metadata', 'Clock Reference', 'Data', 'Hint Track', 'IPMP', 'MPEG-7 Stream', 'MPEG-J', 'Metadata', 'Metadata', 'Metadata', 'Metadata Tags', 'NRT Metadata', 'Object Content', 'Object Descriptor', 'Picture', 'Private', 'Scene Description', 'Subpicture', 'Subtitle', 'Text', 'Time Code', 'URL', 'Video Track')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="Video_Track">
    <xs:annotation>
<xs:documentation>Class describing a Video track</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="video_codec" type="av:video_codec" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="bit_depth" type="av:bit_depth" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="compressor_id" type="av:compressor_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="compressor_name" type="av:compressor_name" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="image_height" type="av:image_height" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="image_width" type="av:image_width" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="source_image_height" type="av:source_image_height" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="source_image_width" type="av:source_image_width" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="acquisition_frame_rate" type="av:acquisition_frame_rate" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="intermediate_frame_rate" type="av:intermediate_frame_rate" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="video_frame_rate" type="av:video_frame_rate" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="av:video_codec = ('H.264', 'Other')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

    <xs:annotation>
      <xs:documentation>This section contains the simpleTypes that provide more constraints
        than those at the base data type level. The simpleTypes defined here build on the base data
        types. This is another component of the common dictionary and therefore falls within the
        common namespace.
      </xs:documentation>
    </xs:annotation>

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

  <xs:complexType name="acquisition_frame_rate">
    <xs:annotation>
      <xs:documentation>Specifies the rate at which unique frames in a
        movie were acquired by the original camera. This may not match
        the video_frame_rate for a variety of reasons, for example
        removing frames or adding duplicate frames to make the movie
        play at a standard frame rate. If not present, the assumption is
        this matches the video_frame_rate. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="av:acquisition_frame_rate_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Frame_Rate" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="audio_bits_per_sample">
    <xs:annotation>
      <xs:documentation>Number of bits used to represent each audio
        sample </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="audio_channels">
    <xs:annotation>
      <xs:documentation>Number of independent audio signals, or
        channels, in the sound track. Usually 1 indicates mono, 2
        indicates stereo, 6 indicates 5.1 surround, etc.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="audio_codec">
    <xs:annotation>
      <xs:documentation>Specifies the audio codec (Coder/Decoder) used
        for this data, in PDS terms. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="audio_format">
    <xs:annotation>
      <xs:documentation>Identifies the specific codec or encoding method
        used to compress and store the audio data. This comes directly
        form the metadata and has not been converted to standard form
        like audio_codec, but may provide additional information.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

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

  <xs:complexType name="audio_sample_rate">
    <xs:annotation>
      <xs:documentation>Frequencey at which the audio is sampled,
        measured in Hz </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="av:audio_sample_rate_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Frequency" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

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

  <xs:complexType name="avg_bitrate">
    <xs:annotation>
      <xs:documentation>Overall average bitrate combining both video and
        audio streams </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="av:avg_bitrate_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Rates" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="balance">
    <xs:annotation>
      <xs:documentation>Specifies left/right audio panning. 0 indicates
        evenly balanced. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="bit_depth">
    <xs:annotation>
      <xs:documentation>Bits per channel of color information
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="compressor_id">
    <xs:annotation>
      <xs:documentation>4-letter code for the compressor used. It may
        indicate the software rathar than the codec. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="compressor_name">
    <xs:annotation>
      <xs:documentation>More descriptive name of the compressor used.
        This comes directly from the metadata and has not been converted
        to standard form like video_codec, but may provide additional
        information. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="container_type">
    <xs:annotation>
      <xs:documentation>Specifies the type (format) of the container in
        PDS terms. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="content_describes">
    <xs:annotation>
      <xs:documentation>Specifies which track ID this trak is describing
        (typically for metadata tracks) </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="create_date">
    <xs:annotation>
      <xs:documentation>Original recording time of the entire stream
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Date_Time_YMD_UTC">
  <!-- format="YYYY-MM-DDTHH:MM:SS.SSSSSSZ" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="device_description">
    <xs:annotation>
      <xs:documentation>Describes the camera or recording device used
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="duration">
    <xs:annotation>
      <xs:documentation>Indicates the time duration of the stream in
        hh:mm:ss format </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

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

  <xs:complexType name="duration_seconds">
    <xs:annotation>
      <xs:documentation>Indicates the time duration of the stream in
        seconds </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="av:duration_seconds_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="handler_class">
    <xs:annotation>
      <xs:documentation>Defines the high-level functional role of a
        track, whether it is actual media data or metadata.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="handler_description">
    <xs:annotation>
      <xs:documentation>Human-readable description of the handler
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="handler_type">
    <xs:annotation>
      <xs:documentation>Defines the type of the track: audio, video,
        metadata, etc. The value descriptions are human-readable
        versions; they contain the actual 4-letter code used in the file
        in parentheses for reference. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="image_height">
    <xs:annotation>
      <xs:documentation>Height of the video image in pixels in its
        current form </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="image_width">
    <xs:annotation>
      <xs:documentation>Width of the video image in pixels in its
        current form </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

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

  <xs:complexType name="intermediate_frame_rate">
    <xs:annotation>
      <xs:documentation>Specifies the frame rate for an intermediate
        product that led to the current track. Rates might be different
        for example to accommodate standard playback rates when
        converting the video to a different format. If not present, the
        assumption is this matches the
        video_frame_rate.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="av:intermediate_frame_rate_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Frame_Rate" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="major_brand">
    <xs:annotation>
      <xs:documentation>Identifies the primary brand/specification of an
        ISO base meda file. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="media_language_code">
    <xs:annotation>
      <xs:documentation>3-letter ISO 639-2/T code identifying the
        language of a specific media track (e.g. "eng" for English,
        "fra" for French). </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="megapixels">
    <xs:annotation>
      <xs:documentation>Specifies the size of the detector in
        megapixels. This is not intended to be a precise measurement but
        rather indicates the general size or class of the detector.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="meta_format">
    <xs:annotation>
      <xs:documentation>Specifies the data structure of metadata tracks
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="modify_date">
    <xs:annotation>
      <xs:documentation>Indicates when the stream was last edited or
        saved </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Date_Time_YMD_UTC">
  <!-- format="YYYY-MM-DDTHH:MM:SS.SSSSSSZ" -->
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="preferred_rate">
    <xs:annotation>
      <xs:documentation>Indicates the intended playback speed of the
        video. A value of 1 typically represents normal, real-time
        speed, while other values can indicate slow motion or
        fast-forward preferences. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="preferred_volume">
    <xs:annotation>
      <xs:documentation>Indicates the default playback volume for the
        stream, with 1.0 indicating normal volume. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="source_image_height">
    <xs:annotation>
      <xs:documentation>Height of the video image in pixels when it was
        originally captured </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="source_image_width">
    <xs:annotation>
      <xs:documentation>Width of the video image in pixels when it was
        originally captured </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="time_scale">
    <xs:annotation>
      <xs:documentation>Indicates the timing resolution of the movie,
        defined as the number of time units that pass per second. It
        dictates the precision of the video's duration and frame rate.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="track_duration">
    <xs:annotation>
      <xs:documentation>Indicates the time duration of this track in
        hh:mm:ss format </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

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

  <xs:complexType name="track_duration_seconds">
    <xs:annotation>
      <xs:documentation>Indicates the time duration of this track in
        seconds </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="av:track_duration_seconds_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="track_id">
    <xs:annotation>
<xs:documentation>ID number for this track </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="track_layer">
    <xs:annotation>
      <xs:documentation>Defines the visual stacking order for different
        tracks in a video. Tracks with lower numbers (including
        negative) appear in front of tracks with higher numbers. It can
        also be used to help distinguish between primary and
        supplementary tracks. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
     <xs:minInclusive value="-9223372036854775808"/>
     <xs:maxInclusive value="9223372036854775807"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="track_volume">
    <xs:annotation>
      <xs:documentation>Indicates the loudness or gain adjustment
        applied to this track, often used to normalize volume levels. A
        value of 1.0 indicates normal volume. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Real">
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="video_codec">
    <xs:annotation>
      <xs:documentation>Specifies the video codec (Coder/Decoder) used
        for this data, in PDS terms. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
     <xs:minLength value="1"/>
     <xs:maxLength value="255"/>
	   </xs:restriction>
  </xs:simpleType>

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

  <xs:complexType name="video_frame_rate">
    <xs:annotation>
      <xs:documentation>Number of video frames per second in the track
        as stored in this product.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="av:video_frame_rate_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Frame_Rate" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:schema>
