<?xml version="1.0" encoding="UTF-8"?>
<!-- PDS4 XML/Schema for Display Dictionary -->
<!-- Generated from the PDS4_Display_1004_20130809181314.xml Ingest_LDD file -->

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  targetNamespace="http://pds.nasa.gov/pds4/disp/v1"
  xmlns:disp="http://pds.nasa.gov/pds4/disp/v1"
  xmlns:pds="http://pds.nasa.gov/pds4/pds/v1"
  elementFormDefault="qualified"
  attributeFormDefault="unqualified"
  version="1.0.0.4">
  
  <xs:annotation>
    <xs:documentation>This dictionary contains classes that provide display
      parameters for rendering Array data on various display devices.  The
      attributes described herein provide default values suggested by the
      data provider for display applications and are not to be interpreted
      as definitive for scientific purposes.  Parameters relevant to
      scientific interpretation are found in classes described
      elsewhere.</xs:documentation>
  </xs:annotation>

  <xs:import namespace="http://pds.nasa.gov/pds4/pds/v1"
    schemaLocation="http://pds.nasa.gov/pds4/pds/v1/PDS4_PDS_1000.xsd"/>
  
  <xs:element name="Default_Display_Settings" type="disp:Default_Display_Settings"/>
  <xs:element name="Default_Display_Settings_Color" type="disp:Default_Display_Settings_Color"/>
  <xs:element name="Default_Display_Settings_Color_Movie" type="disp:Default_Display_Settings_Color_Movie"/>
  <xs:element name="Default_Display_Settings_Movie" type="disp:Default_Display_Settings_Movie"/>
  
  <xs:complexType name="Default_Display_Settings">
    <xs:annotation>
      <xs:documentation>The Default_Display_Settings class provides
        parameters with default values for the display of a generic Array
        object on a given display device.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="local_identifier_reference" type="disp:local_identifier_reference" minOccurs="1" maxOccurs="1"/>
      <xs:element name="comment" type="disp:comment" minOccurs="0" maxOccurs="1"/>
      <xs:element name="horizontal_display_axis" type="disp:horizontal_display_axis" minOccurs="1" maxOccurs="1"/>
      <xs:element name="horizontal_display_direction" type="disp:horizontal_display_direction" minOccurs="1" maxOccurs="1"/>
      <xs:element name="vertical_display_axis" type="disp:vertical_display_axis" minOccurs="1" maxOccurs="1"/>
      <xs:element name="vertical_display_direction" type="disp:vertical_display_direction" minOccurs="1" maxOccurs="1"/>
    </xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="Default_Display_Settings_Color">
    <xs:annotation>
      <xs:documentation>The Default_Display_Settings_Color class provides
        parameters with default values for the display of a multi-banded
        Array object in the red, green, and blue channels of a display
        device.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="disp:Default_Display_Settings">
        <xs:sequence>
          <xs:element name="color_display_axis" type="disp:color_display_axis" minOccurs="1" maxOccurs="1"/>
          <xs:element name="red_channel_band" type="disp:red_channel_band" minOccurs="1" maxOccurs="1"/>
          <xs:element name="green_channel_band" type="disp:green_channel_band" minOccurs="1" maxOccurs="1"/>
          <xs:element name="blue_channel_band" type="disp:blue_channel_band" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  
  <xs:complexType name="Default_Display_Settings_Color_Movie">
    <xs:annotation>
      <xs:documentation>The Default_Display_Settings_Color_Movie class
        provides parameters settings default values for the display of an
        Array object containing both color bands and frames designed to be
        displayed consecutively on a display device capable of display
        video content.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="disp:Default_Display_Settings_Color">
        <xs:sequence>
          <xs:element name="time_display_axis" type="disp:time_display_axis" minOccurs="1" maxOccurs="1"/>
          <xs:element name="frame_rate" type="disp:frame_rate" minOccurs="0" maxOccurs="1"/>
          <xs:element name="loop_flag" type="disp:loop_flag" minOccurs="0" maxOccurs="1"/>
          <xs:element name="loop_count" type="disp:loop_count" minOccurs="0" maxOccurs="1"/>
          <xs:element name="loop_delay" type="disp:loop_delay" minOccurs="0" maxOccurs="1"/>
          <xs:element name="loop_back_and_forth_flag" type="disp:loop_back_and_forth_flag" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  
  <xs:complexType name="Default_Display_Settings_Movie">
    <xs:annotation>
      <xs:documentation>The Default_Display_Settings_Movie class provides
        parameters setting default values for the display of an
        Array_3D_Movie object using a software application capable of
        displaying video content.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="disp:Default_Display_Settings">
        <xs:sequence>
          <xs:element name="time_display_axis" type="disp:time_display_axis" minOccurs="1" maxOccurs="1"/>
          <xs:element name="frame_rate" type="disp:frame_rate" minOccurs="0" maxOccurs="1"/>
          <xs:element name="loop_flag" type="disp:loop_flag" minOccurs="0" maxOccurs="1"/>
          <xs:element name="loop_count" type="disp:loop_count" minOccurs="0" maxOccurs="1"/>
          <xs:element name="loop_delay" type="disp:loop_delay" minOccurs="0" maxOccurs="1"/>
          <xs:element name="loop_back_and_forth_flag" type="disp:loop_back_and_forth_flag" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
      </xs:extension>
    </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="blue_channel_band">
    <xs:annotation>
      <xs:documentation>The blue_channel_band attribute identifies the
        number of the band, along the band axis, that should be loaded, by
        default, into the blue channel of a display device. The first band
        along the band axis has band number 1.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
      <xs:minInclusive value="1"/>
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="color_display_axis">
    <xs:annotation>
      <xs:documentation>The color_display_axis attribute identifies, by
        name, the axis of an Array (or Array subclass) that is intended to
        be displayed in the color dimension of a display device. I.e.,
        bands from this dimension will be loaded into the red, green, and
        blue bands of the display device. The value of this attribute must
        match the value of one, and only one, axis_name attribute in an
        Axis_Array class of the associated Array.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed"/>
  </xs:simpleType>

  <xs:simpleType name="comment">
    <xs:annotation>
      <xs:documentation>The comment attribute is a character string
        expressing one or more remarks or thoughts relevant to the
        object.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Text_Preserved"/>
  </xs:simpleType>

  <xs:simpleType name="frame_rate_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
      <xs:minInclusive value="1.0"/>
    </xs:restriction>
  </xs:simpleType>
  
  <xs:complexType name="frame_rate">
    <xs:annotation>
      <xs:documentation>The frame_rate attribute indicates the number of
        still pictures (or frames) that should be displayed per unit of
        time in a video. Note this is NOT necessarily the same as the rate
        at which the images were acquired.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="disp: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="green_channel_band">
    <xs:annotation>
      <xs:documentation>The green_channel_band attribute identifies the
        number of the band, along the band axis, that should be loaded, by
        default, into the green channel of a display device. The first band
        along the band axis has band number 1.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
      <xs:minInclusive value="1"/>
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="horizontal_display_axis">
    <xs:annotation>
      <xs:documentation>The horizontal_display_axis attribute identifies,
        by name, the axis of an Array (or Array subclass) that is intended
        to be displayed in the horizontal or "sample" dimension on a
        display device. The value of this attribute must match the value of
        one, and only one, axis_name attribute in an Axis_Array class of
        the associated Array.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed"/>
  </xs:simpleType>

  <xs:simpleType name="horizontal_display_direction">
    <xs:annotation>
      <xs:documentation>The horizontal_display_direction attribute
        specifies the direction across the screen of a display device that
        data along the horizontal axis of an Array is supposed to be
        displayed.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
      <xs:minLength value="4"/>
      <xs:maxLength value="5"/>
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="local_identifier_reference">
    <xs:annotation>
      <xs:documentation>The local_identifier_reference attribute provides
        the local_identifier of the digital object described by the
        referencing class (in this case, the Default_Display_Settings
        class). Note that a local_identifier attribute, with the same value
        as this local_identifier_reference, must be present within the
        label.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed"/>
  </xs:simpleType>

  <xs:simpleType name="loop_back_and_forth_flag">
    <xs:annotation>
      <xs:documentation>The loop_back_and_forth_flag attribute specifies
        whether or not a movie should only be "looped" or played repeatedly
        in the forward direction, or whether it should be played forward
        followed by played in reverse, iteratively.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Boolean"/>
  </xs:simpleType>

  <xs:simpleType name="loop_count">
    <xs:annotation>
      <xs:documentation>The loop_count attribute specifies the number of
        times a movie should be "looped" or replayed before
        stopping.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
      <xs:minInclusive value="1"/>
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="loop_delay_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
      <xs:minInclusive value="0.0"/>
    </xs:restriction>
  </xs:simpleType>
  
  <xs:complexType name="loop_delay">
    <xs:annotation>
      <xs:documentation>The loop_delay attribute specifies the amount of
        time to pause between "loops" or repeated playbacks of a
        movie.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="disp:loop_delay_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Time" use="required"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  
  <xs:simpleType name="loop_flag">
    <xs:annotation>
      <xs:documentation>The loop_flag attribute specifies whether or not a
        movie object should be played repeatedly without prompting from the
        user.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Boolean"/>
  </xs:simpleType>

  <xs:simpleType name="red_channel_band">
    <xs:annotation>
      <xs:documentation>The red_channel_band attribute identifies the
        number of the band, along the band axis, that should be loaded, by
        default, into the red channel of a display device. The first band
        along the band axis has band number 1.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Integer">
      <xs:minInclusive value="1"/>
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="time_display_axis">
    <xs:annotation>
      <xs:documentation>The time_display_axis attribute identifies, by
        name, the axis of an Array (or Array subclass), the bands of which
        are intended to be displayed sequentially in time on a display
        device. The frame_rate attribute, if present, provides the rate at
        which these bands are to be displayed.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed"/>
  </xs:simpleType>

  <xs:simpleType name="vertical_display_axis">
    <xs:annotation>
      <xs:documentation>The vertical_display_axis attribute identifies, by
        name, the axis of an Array (or Array subclass) that is intended to
        be displayed in the vertical or "line" dimension on a display
        device. The value of this attribute must match the value of one,
        and only one, axis_name attribute in an Axis_Array class of the
        associated Array.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed"/>
  </xs:simpleType>

  <xs:simpleType name="vertical_display_direction">
    <xs:annotation>
      <xs:documentation>The vertical_display_direction attribute specifies
        the direction along the screen of a display device that data along
        the vertical axis of an Array is supposed to be
        displayed.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_Short_String_Collapsed">
      <xs:minLength value="2"/>
      <xs:maxLength value="4"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
