<?xml version="1.0" encoding="UTF-8"?>
  <!-- PDS4 XML/Schema for Name Space Id:img_surface  Version:1.10.1.0 - Mon Jul 30 16:11:37 PDT 2018 -->
  <!-- Generated from the PDS4 Information Model Version 1.10.1.0 - System Build 8b -->
  <!-- *** This PDS4 product schema is an operational deliverable. *** -->
  <!--                                                                           -->
  <!--               Dictionary Stack                                            -->
  <!-- 1.10.1.0 - pds: - Common Dictionary - N/A                                 -->
  <!-- 1.10.1.0 - geom: - Geometry Dictionary Full - input-PDS4_GEOM_1A10_1530.x -->
  <!-- 1.10.1.0 - img_surface: - Surface Imaging - PDS4_IMG_SURFACE_IngestLDD_1A -->
  <!--                                                                           -->
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://pds.nasa.gov/pds4/mission/img_surface/v1"
    xmlns:img_surface="http://pds.nasa.gov/pds4/mission/img_surface/v1"
    xmlns:pds="http://pds.nasa.gov/pds4/pds/v1"
    xmlns:geom="http://pds.nasa.gov/pds4/geom/v1"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    version="1.10.1.0">
 
    <xs:import namespace="http://pds.nasa.gov/pds4/pds/v1" schemaLocation="http://pds.nasa.gov/pds4/pds/v1/PDS4_PDS_1A10.xsd"/>
    <xs:import namespace="http://pds.nasa.gov/pds4/geom/v1" schemaLocation="http://pds.nasa.gov/pds4/geom/v1/PDS4_GEOM_1A10.xsd"/>
 
  <xs:annotation>
    <xs:documentation>
This XML schema file has been generated from the Information Model.
    </xs:documentation>
  </xs:annotation>
 
  <xs:element name="Surface_Imaging_Parameters" type="img_surface:Surface_Imaging_Parameters"> </xs:element>

  <xs:complexType name="Derived_Product_Parameters">
    <xs:annotation>
      <xs:documentation>The Derived_Product_Parameters class contains
        attributes used to identify and describe processing performed on
        products in order to produce a higher level
        product.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="derived_image_type_name" type="img_surface:derived_image_type_name" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="horizon_mask_elevation" type="img_surface:horizon_mask_elevation" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Placement_Target_Instrument" type="img_surface:Placement_Target_Instrument" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Vector_Range_Origin" type="img_surface:Vector_Range_Origin" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Pointing_Correction_Parameters" type="img_surface:Pointing_Correction_Parameters" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Coordinate_Space_Reference" type="geom:Coordinate_Space_Reference" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Error_Model_Information">
    <xs:annotation>
      <xs:documentation>The Error_Model_Information class specifies the
        name of the error model used, a reference to the algorithm
        descriptions, and the parameters needed for that algorithm. The
        specific set of values is determined by each individual
        missions.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="error_model_name" type="img_surface:error_model_name" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="Error_Model_Parameter" type="img_surface:Error_Model_Parameter" minOccurs="1" maxOccurs="unbounded"> </xs:element>
      <xs:element ref="pds:Internal_Reference" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Error_Model_Parameter">
    <xs:annotation>
      <xs:documentation>The Error_Model_Parameter class specifies name
        and value for a parameter defined by the error model described
        by the parent class.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:name" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="value" type="pds:value" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Error_Pixel">
    <xs:annotation>
      <xs:documentation> The Error_Pixel class specifies the line and
        sample in the image where an error occurred.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="line" type="img_surface:line" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="sample" type="img_surface:sample" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Geometry_Projection_Parameters">
    <xs:annotation>
      <xs:documentation>The Geometry_Projection_Parameters describes the
        geometric projection or warping the image has undergone. It is
        not the intent of this class to describe map projections, but
        rather image warps such as linearization (stereo epipolar
        alignment), geometric sensor correction, or rubber-sheeting. If
        present, a linearization partner image can be referenced using
        either an Internal_Reference or
        External_Reference.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="linearization_mode" type="img_surface:linearization_mode" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="linearization_mode_fov" type="img_surface:linearization_mode_fov" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="geometry_projection_type" type="img_surface:geometry_projection_type" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:choice minOccurs="0" maxOccurs="1">
        <xs:element ref="pds:External_Reference"> </xs:element>
        <xs:element ref="pds:Internal_Reference"> </xs:element>
      </xs:choice>
    </xs:sequence>
    <!-- Begin assert statements for schematron - Enumerated Values -->
    <!-- <xs:assert test="img_surface:linearization_mode = ('Actual', 'Nominal', 'None')"/> -->
    <!-- <xs:assert test="img_surface:geometry_projection_type = ('Linearized', 'Raw')"/> -->
    <!-- End assert statements for schematron - Enumerated Values -->
  </xs:complexType>

  <xs:complexType name="Image_Identifiers">
    <xs:annotation>
      <xs:documentation>The Image_Identifiers class contains items that
        help to identify the image or guide how processing should be
        done to the image.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="image_id" type="img_surface:image_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mosaic_id" type="img_surface:mosaic_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="mesh_id" type="img_surface:mesh_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="stereo_match_id" type="img_surface:stereo_match_id" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Instrument_Information">
    <xs:annotation>
      <xs:documentation>The Instrument_Information class specifies
        information about the configuration of the instrument as it
        acquired this observation.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="image_type" type="img_surface:image_type" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="image_acquire_mode" type="img_surface:image_acquire_mode" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="instrument_type" type="img_surface:instrument_type" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="instrument_mode_id" type="img_surface:instrument_mode_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="instrument_serial_number" type="img_surface:instrument_serial_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="instrument_version_number" type="img_surface:instrument_version_number" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="camera_product_id" type="img_surface:camera_product_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="camera_product_id_count" type="img_surface:camera_product_id_count" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Placement_Target_Instrument">
    <xs:annotation>
      <xs:documentation>Indicates the instrument that is referred to by
        the product. This is not the same as the instrument that
        acquired the product. For example, on InSight instrument
        placement products, it defines which instrument is being
        placed.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:name" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element ref="pds:Internal_Reference" minOccurs="0" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Pointing_Correction_Parameters">
    <xs:annotation>
      <xs:documentation>The Pointing_Correction_Parameters class
        contains attributes used to identify and describe the camera
        model transformations completed in order to update pointing
        information. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="pointing_model_name" type="img_surface:pointing_model_name" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="pointing_model_solution_id" type="img_surface:pointing_model_solution_id" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Pointing_Model_Parameters" type="img_surface:Pointing_Model_Parameters" minOccurs="0" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Pointing_Model_Parameters">
    <xs:annotation>
      <xs:documentation>The Pointing_Model_Parameters class specifies
        the name and value (numeric) parameters needed by the pointing
        model identified by the pointing_model_name attribute in the
        Pointing_Correction_Parameters parent class. The meaning of any
        given parameter is defined by the pointing model.
        </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="pds:name" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="value" type="pds:value" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Stereo_Product_Parameters">
    <xs:annotation>
      <xs:documentation>The Stereo_Product_Parameters class describes
        the conditions under which stereo analysis was performed. This
        includes items such as the stereo baseline (separation between
        the cameras) and what partner image(s) were used for stereo
        analysis. If present, stereo partner images can be referenced
        using either an Internal_Reference or
        External_Reference.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="stereo_baseline_length" type="img_surface:stereo_baseline_length" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="pds:External_Reference"> </xs:element>
        <xs:element ref="pds:Internal_Reference"> </xs:element>
      </xs:choice>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Surface_Imaging_Parameters">
    <xs:annotation>
      <xs:documentation>Attributes specific to imaging instruments on
        surface missions.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Image_Identifiers" type="img_surface:Image_Identifiers" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Instrument_Information" type="img_surface:Instrument_Information" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Derived_Product_Parameters" type="img_surface:Derived_Product_Parameters" minOccurs="0" maxOccurs="unbounded"> </xs:element>
      <xs:element name="Error_Model_Information" type="img_surface:Error_Model_Information" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Geometry_Projection_Parameters" type="img_surface:Geometry_Projection_Parameters" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Stereo_Product_Parameters" type="img_surface:Stereo_Product_Parameters" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Coordinate_Space_Reference" type="geom:Coordinate_Space_Reference" minOccurs="0" maxOccurs="1"> </xs:element>
      <xs:element name="Error_Pixel" type="img_surface:Error_Pixel" minOccurs="0" maxOccurs="unbounded"> </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Vector_Range_Origin">
    <xs:annotation>
      <xs:documentation>The Vector_Range_Origin class specifies the 3-D
        space from which the Range values are measured in a Range RDR.
        This will normally be the same as the C point of the camera. It
        is expressed in the coordinate system specified by the
        Coordinate_Space_Reference class.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="x_position" type="img_surface:x_position" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="y_position" type="img_surface:y_position" minOccurs="1" maxOccurs="1"> </xs:element>
      <xs:element name="z_position" type="img_surface:z_position" minOccurs="1" maxOccurs="1"> </xs:element>
    </xs:sequence>
  </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="camera_product_id">
    <xs:annotation>
      <xs:documentation>The camera_product_id attribute specifies a
        numeric identifier assigned by the instrument to this specific
        observation.</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="camera_product_id_count">
    <xs:annotation>
      <xs:documentation>The camera_product_id_count attribute specifies
        the number of times a specific camera_product_id has been
        used.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_NonNegative_Integer">
    	<xs:pattern value='[0-9]+'/>
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="18446744073709551615"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="derived_image_type_name">
    <xs:annotation>
      <xs:documentation>The derived_image_type_name attribute specifies
        how to interpret the pixel values in a derived image (or
        colloquially, the type of the derived image itself). Valid
        values vary per mission depending on the products
        produced.</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="error_model_name">
    <xs:annotation>
      <xs:documentation>The error_model_name attribute specifies the
        method or algorithm used to create the error estimate. Each
        mission will define their own set of possible values. Algorithms
        will be added over time. The initial value is
        MIPL_CONST_DISPARITY_PROJECTED_V1, which means an arbitrary
        constant disparity error is assumed (in ERROR_MODEL_PARMS),
        which is projected through the camera models to approximate an
        error ellipse, which is then projected to the XYZ or
        range/crossrange axes depending on the file type.
        </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="geometry_projection_type">
    <xs:annotation>
      <xs:documentation>The geometry_projection_type attribute specifies
        how pixels in a file have been reprojected to correct for camera
        distortion, linearization, or rubber-sheeting (it is not the
        intent of this field to capture map projections). "Raw"
        indicates no projection has been done.</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="horizon_mask_elevation_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
    	<xs:pattern value='[-+]?[0-9]+(\.?[0-9]+)?([eE][-+]?[0-9]+)?'/>
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="horizon_mask_elevation">
    <xs:annotation>
      <xs:documentation>The horizon_mask_elevation attribute specifies
        the elevation (in degrees) used as the horizontal cutoff in a
        mask file that prevents the horizon and sky features in the
        image from being processed. If this attribute is not present in
        the product label, no horizon mask was used.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="img_surface:horizon_mask_elevation_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Angle" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="image_acquire_mode">
    <xs:annotation>
<xs:documentation>TBD</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_id">
    <xs:annotation>
      <xs:documentation>The image_id is an arbitrary string identifier
        that is associated with this image. The specific interpretation
        of it is mission-dependent, and it need not be unique to this
        image. For example, missions may use it as an image counter, a
        round-trip token indicating how to process the image, or a
        FSW-assigned value identifying the image.</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_type">
    <xs:annotation>
      <xs:documentation>The image_type attribute specifies the type of
        image acquired. The intent is to distinguish between different
        kinds of image-related data that may differ in how they are
        interpreted. Some types are not standard images, but they are
        stored in an image structure. Examples include Regular,
        Thumbnail, Reference Pixels, Histogram, Row Sum, and Column
        Sum.</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="instrument_mode_id">
    <xs:annotation>
      <xs:documentation> The instrument_mode_id attribute provides an
        instrument-dependent designation of operating mode. This may be
        simply a number, letter or code, or a word such as 'normal',
        'full resolution', 'near encounter', or 'fixed grating'. These
        types may vary by mission so the permissible values should be
        set by the mission dictionaries.</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="instrument_serial_number">
    <xs:annotation>
      <xs:documentation>The instrument serial number element provides
        the manufacturer's serial number assigned to an instrument. This
        number may be used to uniquely identify a particular instrument
        for tracing its components or determining its calibration
        history, for example.</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="instrument_type">
    <xs:annotation>
      <xs:documentation>The instrument_type attribute specifies the type
        of an instrument, for example IMAGING CAMERA, SPECTROMETER,
        IMAGING SPECTROMETER, RADIOMETER, etc.</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="instrument_version_number">
    <xs:annotation>
      <xs:documentation> The instrument_version_number element
        identifies the specific model of an instrument used to obtain
        data. For example, this keyword could be used to distinguish
        between an engineering model of a camera used to acquire test
        data, and a flight model of a camera used to acquire science
        data during a mission.</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="line">
    <xs:annotation>
      <xs:documentation>The line attribute specifies the line number in
        the image.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_NonNegative_Integer">
    	<xs:pattern value='[0-9]+'/>
     <xs:minInclusive value="1"/>
     <xs:maxInclusive value="18446744073709551615"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="linearization_mode">
    <xs:annotation>
      <xs:documentation> The linearization_mode attribute specifies what
        kind of stereo partner was used to linearize the image (the
        process requires two camera models). </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="linearization_mode_fov">
    <xs:annotation>
      <xs:documentation> The linearization_mode_fov attribute specifies
        how the linearized camera model's field of view (FOV) as
        constructed (corresponding to the "cahv_fov" parameter in MIPL
        software). </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="mesh_id">
    <xs:annotation>
      <xs:documentation>The mesh_id attribute specifies which terrain
        mesh this image should be automatically included in. This does
        not constrain which mesh(es) the image may be included in
        outside a pipeline environment.</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="mosaic_id">
    <xs:annotation>
      <xs:documentation>The mosaic_id attribute specifies which mosaic
        this image should be automatically included in. This does not
        constrain which mosaic(s) the image may be included in outside a
        pipeline environment.</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="pointing_model_name">
    <xs:annotation>
      <xs:documentation>The pointing_model_name attribute specifies
        which of several "pointing models" were used to transform the
        camera model based on updated pointing information. These
        updates are typically derived from mosaic seam corrections. This
        attribute and the associated Pointing_Model_Index classes define
        what the updated pointing information is, providing enough
        information to re-create the camera model from calibration data.
        If present, this attribute overrides the default pointing based
        on telemetry. The special value "NONE" shall be interpreted the
        same as if the attribute is absent (i.e. the default pointing
        model should be used). New model names can be created at any
        time; the models themselves should be described in a
        mission-specific ancillary file. See also the geom:solution_id
        attribute within the geom:Camera_Model_Parameters
        class.</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="pointing_model_solution_id">
    <xs:annotation>
      <xs:documentation>The pointing_model_solution_id attribute
        specifies the identifier of the pointing correction solution
        used to derive the model specified via the enclosing
        Pointing_Correction_Parameters class. This identifier should
        also appear in the pointing correction file referenced by the
        Data_Correction_File. If there is only one identifier in the
        correction file, then pointing_model_solution_id may be omitted.
        The pointing_model_solution_id attribute may be reused in the
        context of pointing corrections, although uniqueness is
        recommended. The pointing correction solution ID namespace is
        separate from the coordinate system namespace.</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="sample">
    <xs:annotation>
      <xs:documentation>The sample attribute specifies the sample number
        in the image.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="pds:ASCII_NonNegative_Integer">
    	<xs:pattern value='[0-9]+'/>
     <xs:minInclusive value="1"/>
     <xs:maxInclusive value="18446744073709551615"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="stereo_baseline_length_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
    	<xs:pattern value='[-+]?[0-9]+(\.?[0-9]+)?([eE][-+]?[0-9]+)?'/>
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="stereo_baseline_length">
    <xs:annotation>
      <xs:documentation> The stereo_baseline_length attribute specifies
        the separation between the two cameras used for processing of
        the stereo image. </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="img_surface:stereo_baseline_length_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="stereo_match_id">
    <xs:annotation>
      <xs:documentation> The stereo_match_id attribute specifies which
        other image this image matches with for stereo processing. If
        used for a mission, the two images making up a stereo pair
        should share the same stereo_match_id value. </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="x_position_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
    	<xs:pattern value='[-+]?[0-9]+(\.?[0-9]+)?([eE][-+]?[0-9]+)?'/>
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="x_position">
    <xs:annotation>
      <xs:documentation>The x component of a Cartesian position
        vector.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="img_surface:x_position_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="y_position_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
    	<xs:pattern value='[-+]?[0-9]+(\.?[0-9]+)?([eE][-+]?[0-9]+)?'/>
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="y_position">
    <xs:annotation>
      <xs:documentation>The y component of a Cartesian position
        vector.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="img_surface:y_position_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="z_position_WO_Units">
    <xs:restriction base="pds:ASCII_Real">
    	<xs:pattern value='[-+]?[0-9]+(\.?[0-9]+)?([eE][-+]?[0-9]+)?'/>
     <xs:minInclusive value="-1.7976931348623157e308"/>
     <xs:maxInclusive value="1.7976931348623157e308"/>
	   </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="z_position">
    <xs:annotation>
      <xs:documentation>The z component of a Cartesian position
        vector.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="img_surface:z_position_WO_Units">
        <xs:attribute name="unit" type="pds:Units_of_Length" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
 
  <xs:annotation>
    <xs:documentation>
[
  {
    "dataDictionary": {
      "Title": "PDS4 Data Dictionary" ,
      "Version": "1.10.1.0" ,
      "Date": "Mon Jul 30 16:11:37 PDT 2018" ,
      "Description": "This document is a dump of the contents of the PDS4 Data Dictionary" ,
      "PropertyMapDictionary": [
      ]
    }
  }
]
    </xs:documentation>
  </xs:annotation>
</xs:schema>
