<?xml version="1.0" encoding="UTF-8"?>
<!-- SIDD v2.0.0 -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ism="urn:us:gov:ic:ism:13" xmlns:sicommon="urn:SICommon:1.0" xmlns:sfa="urn:SFA:1.2.0" xmlns="urn:SIDD:2.0.0" targetNamespace="urn:SIDD:2.0.0" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:import namespace="urn:SICommon:1.0" schemaLocation="SICommonTypes_V1.0.xsd"/>
    <xs:import namespace="urn:SFA:1.2.0" schemaLocation="SFA.xsd"/>
    <xs:import namespace="urn:us:gov:ic:ism:13" schemaLocation="external/ISM-v13/Schema/ISM/IC-ISM.xsd"/>
    <xs:simpleType name="LUTListType">
        <xs:list itemType="xs:int"/>
    </xs:simpleType>
    <xs:simpleType name="TripleType">
        <xs:annotation>
            <xs:documentation>Any comma int triple.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:pattern value="([0-9]+),([0-9]+),([0-9]+)"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="LUT3ListType">
        <xs:list itemType="TripleType"/>
    </xs:simpleType>
    <xs:complexType name="Lookup3TableType">
        <xs:simpleContent>
            <xs:extension base="LUT3ListType">
                <xs:attribute name="size" type="xs:int" use="required">
                    <xs:annotation>
                        <xs:documentation>Size of LUT</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="LookupTableType">
        <xs:simpleContent>
            <xs:extension base="LUTListType">
                <xs:attribute name="lut" type="xs:int" use="required">
                    <xs:annotation>
                        <xs:documentation>Size of LUT.</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="ColorDisplayRemapType">
        <xs:annotation>
            <xs:documentation>Object representing that the data requires color display.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="RemapLUT" type="Lookup3TableType">
                <xs:annotation>
                    <xs:documentation>LUT-base remap indicating that the color display is done through index-based color.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MonochromeDisplayRemapType">
        <xs:annotation>
            <xs:documentation>
                This remap works by taking the input space and using the LUT to map it to a log space (for 8-bit only).
                From the log space the C0 and Ch fields are applied to get to display-ready density space.
                The density should then be rendered by the TTC and monitor comp.
                This means that the default DRA should not apply anything besides the clip points.
                If a different contrast/brightness is applied it should be done through modification of the clip points via DRA.
                Examples:
                Remap                LUT                    Clips
                =============================
                PEDF            PEDF->D                0,255
                LLG            LLG->A->LogA        C0,Ch
                Log                N/A                         C0,Ch
                NRL                N/A                        0,255 (Supposed to be display ready)
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="RemapType" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Name of remap applied (for informational purposes only).</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="RemapParameter" type="sicommon:ParameterType" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Textual remap parameter. Filled based upon remap type (for informational purposes only).  For example, if the data is linlog encoded a RemapParameter could be used to describe any amplitude scaling that was performed prior to linlog encoding the data.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RemapChoiceType">
        <xs:choice>
            <xs:element name="ColorDisplayRemap" type="ColorDisplayRemapType">
                <xs:annotation>
                    <xs:documentation>Information for proper color display of the data.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="MonochromeDisplayRemap" type="MonochromeDisplayRemapType">
                <xs:annotation>
                    <xs:documentation>Information for proper monochrome display of the data.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="DRAHistogramOverridesType">
        <xs:sequence>
            <xs:element name="ClipMin" type="xs:int">
                <xs:annotation>
                    <xs:documentation>Suggested override for the lower end-point of the display histogram in the ELT DRA application. Referred to as Pmin in SIPS documentation.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ClipMax" type="xs:int">
                <xs:annotation>
                    <xs:documentation>Suggested override for the upper end-point of the display histogram in the ELT DRA application. Referred to as Pmax in SIPS documentation.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ProductDisplayType">
        <xs:annotation>
            <xs:documentation>Type for describing proper display of the derived product.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="PixelType" type="PixelType">
                <xs:annotation>
                    <xs:documentation>
                        Defines the pixel type, based on enumeration and definition in Design and Exploitation document.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="NumBands" type="xs:int">
                <xs:annotation>
                    <xs:documentation>
                        Number of bands contained in the image. Populate with the number of bands present after remapping. For example an 8-bit RGB image (RGBLU) this should be populated with 3.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="DefaultBandDisplay" type="xs:int" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        Indicates which band to display by default. Valid range = 1 to NumBands.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="NonInteractiveProcessing" type="NonInteractiveProcessingType" maxOccurs="unbounded">
            </xs:element>
            <xs:element name="InteractiveProcessing" type="InteractiveProcessingType" maxOccurs="unbounded">
            </xs:element>
            <xs:element name="DisplayExtension" type="sicommon:ParameterType" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Optional extensible parameters used to support profile-specific needs related to product display. Predefined filter types.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="NonInteractiveProcessingType">
        <xs:sequence>
            <xs:element name="ProductGenerationOptions" type="ProductGenerationOptionsType">
                <xs:annotation>
                    <xs:documentation>
                        Performs several key actions on an image to prepare it for necessary additional processing to achieve the desired output product.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="RRDS" type="RRDSType">
                <xs:annotation>
                    <xs:documentation>
                        Creates a set of sub-sampled versions of an image to provide processing chains with quick access to lower mangification values
                        for faster computation speeds and performance.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="band" type="xs:positiveInteger" use="required"/>
    </xs:complexType>
    <xs:complexType name="ProductGenerationOptionsType">
        <xs:annotation>
            <xs:documentation>
                Performs several key actions on an image to prepare it for necessary additional processing to achieve the desired output product.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="BandEqualization" type="BandEqualizationType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        Band equalization ensures that real-world neutral colors have equal digital count values
                        (i.e. are represented as neutral colors) across the dynamic range of the imaged scene.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ModularTransferFunctionRestoration" type="FilterType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Filter must be no larger than 15x15.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="DataRemapping" type="NewLookupTableType">
                <xs:annotation>
                    <xs:documentation>
                        Data remapping refers to the specific need to convert the data of incoming, expanded or uncompressed image band data to non-mapped image data.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="AsymmetricPixelCorrection" type="FilterType" minOccurs="0"></xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="DownsamplingMethodType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="DECIMATE"/>
            <xs:enumeration value="MAX PIXEL"/>
            <xs:enumeration value="AVERAGE"/>
            <xs:enumeration value="NEAREST NEIGHBOR"/>
            <xs:enumeration value="BILINEAR"/>
            <xs:enumeration value="LAGRANGE"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="RRDSType">
        <xs:sequence>
            <xs:element name="DownsamplingMethod" type="DownsamplingMethodType">
                <xs:annotation>
                    <xs:documentation>Algorithm used to perform RRDS downsampling</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="AntiAlias" type="FilterType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Only included if DownSamplingMethod=DECIMET</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Interpolation" type="FilterType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Only included if DownSamplingMethod=DECIMET</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="FilterType">
        <xs:sequence>
            <xs:element name="FilterName" type="xs:string"></xs:element>
            <xs:choice>
                <xs:element name="FilterKernel" type="FilterKernelType"></xs:element>
                <xs:element name="FilterBank" type="FilterBankType"></xs:element>
            </xs:choice>
            <xs:element name="Operation" type="FilterOperationType"></xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="FilterKernelType">
        <xs:choice>
            <xs:element name="Predefined" type="PredefinedFilterType"/>
            <xs:element name="Custom" type="KernelCustomType"/>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="FilterBankType">
        <xs:choice>
            <xs:element name="Predefined" type="PredefinedFilterType"/>
            <xs:element name="Custom" type="BankCustomType"/>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="BankCustomType">
        <xs:sequence>
            <xs:element name="FilterCoefficients" type="FilterBankCoefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PredefinedFilterType">
        <xs:choice>
            <xs:element name="DatabaseName" type="FilterDatabaseNameType"></xs:element>
            <xs:sequence>
                <xs:element name="FilterFamily" type="xs:int"></xs:element>
                <xs:element name="FilterMember" type="xs:int"></xs:element>
            </xs:sequence>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="KernelCustomType">
        <xs:sequence>
            <xs:element name="FilterCoefficients" type="FilterKernelCoefType"></xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="FilterCustomType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="GENERAL"/>
            <xs:enumeration value="FILTER BANK"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="FilterKernelCoefType">
        <xs:sequence>
            <xs:element name="Coef" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:simpleContent>
                        <xs:extension base="xs:double">
                            <xs:attribute name="row" type="xs:int" use="required"/>
                            <xs:attribute name="col" type="xs:int" use="required"/>
                        </xs:extension>
                    </xs:simpleContent>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="numRows" type="xs:int" use="required"/>
        <xs:attribute name="numCols" type="xs:int" use="required"/>
    </xs:complexType>
    <xs:complexType name="FilterBankCoefType">
    <xs:sequence>
        <xs:element name="Coef" maxOccurs="unbounded">
            <xs:complexType>
                <xs:simpleContent>
                    <xs:extension base="xs:double">
                        <xs:attribute name="phasing" type="xs:int" use="required"/>
                        <xs:attribute name="point" type="xs:int" use="required"/>
                    </xs:extension>
                </xs:simpleContent>
            </xs:complexType>
        </xs:element>
    </xs:sequence>
    <xs:attribute name="numPhasings" type="xs:int" use="required"/>
    <xs:attribute name="numPoints" type="xs:int" use="required"/>
    </xs:complexType>
    <xs:simpleType name="FilterDatabaseNameType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="BILINEAR"/>
            <xs:enumeration value="CUBIC"/>
            <xs:enumeration value="LAGRANGE"/>
            <xs:enumeration value="NEAREST NEIGHBOR"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="FilterOperationType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="CONVOLUTION"/>
            <xs:enumeration value="CORRELATION"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="BandEqualizationType">
        <xs:annotation>
            <xs:documentation>
                Band equalization ensures that real-world neutral colors have equal digital count values
                (i.e. are represented as neutral colors) across the dynamic range of the imaged scene.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Algorithm" type="EqualizationAlgorithmType">
                <xs:annotation>
                    <xs:documentation>Allowed values: 1DLUT</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="BandLUT" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="NewLookupTableType">
                            <xs:attribute name="k" type="xs:positiveInteger" use="required"></xs:attribute>
                        </xs:extension>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="NewLookupTableType">
        <xs:sequence>
            <xs:element name="LUTName" type="xs:string"/>
            <xs:choice>
                <xs:element name="Predefined" type="PredefinedLookupType"/>
                <xs:element name="Custom" type="CustomLookupType"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PredefinedLookupType">
        <xs:choice>
            <xs:element name="DatabaseName" type="xs:string">
                <xs:annotation>
                    <xs:documentation>
                        Database name of LUT to use.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:sequence>
                <xs:element name="RemapFamily" type="xs:int">
                    <xs:annotation>
                        <xs:documentation>
                            Index specifying the remap family.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="RemapMember" type="xs:int">
                    <xs:annotation>
                        <xs:documentation>
                            Index specifying the member for the remap family.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:sequence>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="LUTInfoType">
        <xs:sequence>
            <xs:element name="LUTValues" type="LookupTableType" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="numLuts" type="xs:int" use="required"/>
        <xs:attribute name="size" type="xs:int" use="required"/>
    </xs:complexType>
    <xs:complexType name="CustomLookupType">
        <xs:sequence>
            <xs:element name="LUTInfo" type="LUTInfoType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="EqualizationAlgorithmType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="1DLUT"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="InteractiveProcessingType">
        <xs:sequence>
            <xs:element name="GeometricTransform" type="GeometricTransformType">
                <xs:annotation>
                    <xs:documentation>
                        The geometric transform element is used to perform various geometric distortions to each band of image data. These distortions
                        include image chipping, scaling, rotation, shearing, etc.
                </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="SharpnessEnhancement" type="SharpnessEnhancementType"></xs:element>
            <xs:element name="ColorSpaceTransform" type="ColorSpaceTransformType" minOccurs="0"></xs:element>
            <xs:element name="DynamicRangeAdjustment" type="DynamicRangeAdjustmentType">
                <xs:annotation>
                    <xs:documentation>Specifies the recommended ELT DRA overrides</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="TonalTransferCurve" type="NewLookupTableType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        The 1-D LUT element uses one or more 1-D LUTs to stretch or compress tome data in valorous regions within a digital image's dynamic range.
                        1-D LUT can be implemented using a Tonal Transfer Curve (TTC). There are 12 families of TTCs: Range = [0,11]. There are 64 members for each family: Range=[0, 63].
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="band" type="xs:positiveInteger" use="required"/>
    </xs:complexType>
    <xs:complexType name="GeometricTransformType">
        <xs:sequence>
            <xs:annotation>
                <xs:documentation>
                    The geometric transform element is used to perform various geometric distortions to each band of image data. These distortions
                    include image chipping, scaling, rotation, shearing, etc.
                </xs:documentation>
            </xs:annotation>
            <xs:element name="Scaling" type="ScalingType"></xs:element>
            <xs:element name="Orientation" type="Orientation">
                <xs:annotation>
                    <xs:documentation>
                        Parameters describing the default orientation of the product
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ScalingType">
        <xs:sequence>
            <xs:element name="AntiAlias" type="FilterType">
                <xs:annotation>
                    <xs:documentation>
                        Anti-Alias Filter used for scaling.
                        Refer to program-specific documentation for population guidance
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Interpolation" type="FilterType">
                <xs:annotation>
                    <xs:documentation>
                        Interpolation Filter used for scaling.
                        Refer to program-specific documentation for population guidance.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="Orientation">
        <xs:annotation>
            <xs:documentation>
                Parameters describing the default orientation of the product
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ShadowDirection" type="ShadowDirectionType">
                <xs:annotation>
                    <xs:documentation>Descirbes the shadow direciton relative to the pixels in the file.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="ShadowDirectionType">
        <xs:annotation>
            <xs:documentation>Descirbes the shadow direciton relative to the pixels in the file.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="UP"/>
            <xs:enumeration value="DOWN"/>
            <xs:enumeration value="LEFT"/>
            <xs:enumeration value="RIGHT"/>
            <xs:enumeration value="ARBITRARY"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="SharpnessEnhancementType">
        <xs:choice>
            <xs:element name="ModularTransferFunctionCompensation" type="FilterType">
                <xs:annotation>
                    <xs:documentation>Note: If defining a custom Filter, it must be no larger than 5x5.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ModularTransferFunctionEnhancement" type="FilterType">
                <xs:annotation>
                    <xs:documentation>Note: If defining a custom Filter, it must be no larger than 5x5.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="ColorSpaceTransformType">
        <xs:sequence>
            <xs:element name="ColorManagementModule" type="ColorManagementModuleType">
                <xs:annotation>
                    <xs:documentation>Parameters describing the Color Management Module (CMM).</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ColorManagementModuleType">
        <xs:annotation>
            <xs:documentation>Parameters describing the Color Management Module (CMM).</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="RenderingIntent" type="RenderingIntentType"></xs:element>
            <xs:element name="SourceProfile" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Name of sensor profile in ICC Profile database.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="DisplayProfile" type="xs:string" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Name of display profile in ICC Profile database.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ICCProfileSignature" type="xs:string" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Valid ICC profile signature.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="RenderingIntentType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="PERCEPTUAL"/>
            <xs:enumeration value="SATURATION"/>
            <xs:enumeration value="RELATIVE"/>
            <xs:enumeration value="ABSOLUTE"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="DynamicRangeAdjustmentType">
        <xs:annotation>
            <xs:documentation>Parameter describing DRA.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="AlgorithmType" type="RangeAdjustmentAlgorithmType">
                <xs:annotation>
                    <xs:documentation>Algorithm used for dynamic range adjustment.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="BandStatsSource" type="xs:int">
                <xs:annotation>
                    <xs:documentation>
                        Indicates which band to use in computing statistics for DRA. Valid range = 1 to NumBands.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="DRAParameters" type="DRAParameters" minOccurs="0"/>
            <xs:element name="DRAOverrides" type="DRAOverrides" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DRAParameters">
        <xs:sequence>
            <xs:element name="Pmin" type="xs:double">
                <xs:annotation>
                    <xs:documentation>
                        DRA clip low point. This is the cumulative histogram percentage value that defines the lower end-point of the dynamic range to be displayed. Range: [0.0 to 1.0]
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Pmax" type="xs:double">
                <xs:annotation>
                    <xs:documentation>
                        DRA clip high point. This is the cumulative histogram percentage value that defines the upper end-point of the dynamic range to be displayed. Range: [0.0 to 1.0]
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="EminModifier" type="xs:double">
                <xs:annotation>
                    <xs:documentation>The pixel value corresponding to the Pmin percentage poitn in the image histogram. Range: [0.0 to 1.0]/</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="EmaxModifier" type="xs:double">
                <xs:annotation>
                    <xs:documentation>The pixel value corresponding to the Pmax percentage poitn in the image histogram. Range: [0.0 to 1.0]/</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="RangeAdjustmentAlgorithmType">
        <xs:annotation>
            <xs:documentation>Algorithm used for dynamic range adjustment.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="AUTO"/>
            <xs:enumeration value="MANUAL"/>
            <xs:enumeration value="NONE"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="DRAOverrides">
        <xs:sequence>
            <xs:element name="Subtractor" type="xs:double">
                <xs:annotation>
                    <xs:documentation>Subtractor value used to reduce haze in the image. Range: [0.0 to 2047.0]</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Multiplier" type="xs:double">
                <xs:annotation>
                    <xs:documentation>Multiplier value used to reduce haze in the image. Range: [0.0 to 2047.0]</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ProductPlaneType">
        <xs:annotation>
            <xs:documentation>Plane definition for the product.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="RowUnitVector" type="sicommon:XYZType">
                <xs:annotation>
                    <xs:documentation>Unit vector of the plane defined to be aligned in the increasing row direction of the product. (Defined as Rpgd in Design and Exploitation document)</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ColUnitVector" type="sicommon:XYZType">
                <xs:annotation>
                    <xs:documentation>Unit vector of the plane defined to be aligned in the increasing column direction of the product. (Defined as Cpgd in Design and Exploitation document)</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="BaseProjectionType">
        <xs:sequence>
            <xs:element name="ReferencePoint" type="sicommon:ReferencePointType">
                <xs:annotation>
                    <xs:documentation>Reference point for the geometrical system.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MeasurableProjectionType">
        <xs:complexContent>
            <xs:extension base="BaseProjectionType">
                <xs:sequence>
                    <xs:element name="SampleSpacing" type="sicommon:RowColDoubleType">
                        <xs:annotation>
                            <xs:documentation>Sample spacing in row and column.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="TimeCOAPoly" type="sicommon:Poly2DType">
                        <xs:annotation>
                            <xs:documentation>Time (units = seconds) at which center of aperture for a given pixel coordinate in the product occurs.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PlaneProjectionType">
        <xs:annotation>
            <xs:documentation>Planar representation of the pixel grid</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="MeasurableProjectionType">
                <xs:sequence>
                    <xs:element name="ProductPlane" type="ProductPlaneType">
                        <xs:annotation>
                            <xs:documentation>Plane definition for the product.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PolynomialProjectionType">
        <xs:annotation>
            <xs:documentation>Polynomial pixel to ground.  Only used for sensor systems where the radar geometry parameters are not recorded.</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseProjectionType">
                <xs:sequence>
                    <xs:element name="RowColToLat" type="sicommon:Poly2DType">
                        <xs:annotation>
                            <xs:documentation>Polynomial that converts Row/Col to Latitude (degrees).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="RowColToLon" type="sicommon:Poly2DType">
                        <xs:annotation>
                            <xs:documentation>Polynomial that converts Row/Col to Longitude (degrees).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="RowColToAlt" type="sicommon:Poly2DType" minOccurs="0">
                        <xs:annotation>
                            <xs:documentation>Polynomial that converts Row/Col to Altitude (meters above WGS-84 ellipsoid).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="LatLonToRow" type="sicommon:Poly2DType">
                        <xs:annotation>
                            <xs:documentation>Polynomial that converts Latitude (degrees) and Longitude (degrees) to pixel row location.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="LatLonToCol" type="sicommon:Poly2DType">
                        <xs:annotation>
                            <xs:documentation>Polynomial that converts Latitude (degrees) and Longitude (degrees) to pixel column location</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GeographicProjectionType">
        <xs:annotation>
            <xs:documentation>Geographic mapping of the pixel grid.</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="MeasurableProjectionType"/>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CylindricalProjectionType">
        <xs:annotation>
            <xs:documentation>Cylindrical mapping of the pixel grid.</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="MeasurableProjectionType">
                <xs:sequence>
                    <xs:element name="StripmapDirection" type="sicommon:XYZType">
                        <xs:annotation>
                            <xs:documentation>Along stripmap direction</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="CurvatureRadius" type="xs:double" minOccurs="0">
                        <xs:annotation>
                            <xs:documentation>Radius of Curvature defined at scene center.  If not present, the radius of curvature will be derived based upon the equations provided in the Design and Exploitation Document</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="MeasurementType">
        <xs:annotation>
            <xs:documentation>Geometric SAR information required for measurement/geolocation.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:choice>
                <xs:element name="PolynomialProjection" type="PolynomialProjectionType">
                    <xs:annotation>
                        <xs:documentation>Polynomial pixel to ground.  Only used for sensor systems where the radar geometry parameters are not recorded.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="GeographicProjection" type="GeographicProjectionType">
                    <xs:annotation>
                        <xs:documentation>Geographic mapping of the pixel grid referred to as GGD in the Design and Exploitation document.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="PlaneProjection" type="PlaneProjectionType">
                    <xs:annotation>
                        <xs:documentation>Planar representation of the pixel grid referred to as PGD in the Design and Exploitation document.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="CylindricalProjection" type="CylindricalProjectionType">
                    <xs:annotation>
                        <xs:documentation>Cylindrical mapping of the pixel grid referred to as CGD in the Design and Exploitation document.</xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:choice>
            <xs:element name="PixelFootprint" type="sicommon:RowColIntType">
                <xs:annotation>
                    <xs:documentation>
                        Size of the image in pixels.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ARPFlag" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Flag indicating whether ARP polynomial is based on the best available ("collect time" or "predicted") ephemeris.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="REALTIME">
                            <xs:annotation>
                                <xs:documentation>Based on ephemeries at time of collect</xs:documentation>
                            </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="PREDICTED">
                            <xs:annotation>
                                <xs:documentation>Based on predicted ephemeries (i.e. pre-collect)</xs:documentation>
                            </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="POST PROCESSED">
                            <xs:annotation>
                                <xs:documentation>Ephemeris has been refined after data collection</xs:documentation>
                            </xs:annotation>
                        </xs:enumeration>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="ARPPoly" type="sicommon:XYZPolyType">
                <xs:annotation>
                    <xs:documentation>Center of aperture polynomial (units = m) based upon time into the collect.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ValidData" type="ValidDataType" minOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        Indicates the full image includes both valid data and some zero filled pixels.
                        Simple convex polygon enclosed the valid data (may include some zero filled pixels for simplification). Vertices in clockwise order.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AcheivedResolutionType">
        <xs:annotation>
            <xs:documentation>Finest achievable resolution parameters.</xs:documentation>
        </xs:annotation>
        <xs:sequence/>
    </xs:complexType>
    <xs:simpleType name="PixelType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="MONO8I"/>
            <xs:enumeration value="MONO8LU"/>
            <xs:enumeration value="MONO16I"/>
            <xs:enumeration value="RGB8LU"/>
            <xs:enumeration value="RGB24I"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="ClassificationGuidanceType">
        <xs:annotation>
            <xs:documentation>Classification guidance authority (only if file is classified).</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Authority" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Classifying authority.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Date" type="xs:date">
                <xs:annotation>
                    <xs:documentation>Date that the authority was provided. Specified in YYYY-MM-DD.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ProductClassificationType">
        <xs:annotation>
            <xs:documentation>The overall classification of the product.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="SecurityExtension" type="sicommon:ParameterType" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Extensible parameters used to support profile-specific needs related to product security.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attributeGroup ref="ism:ISMRootNodeAttributeGroup"/>
        <xs:attributeGroup ref="ism:ResourceNodeAttributeGroup"/>
    </xs:complexType>
    <xs:complexType name="ProcessorInformationType">
        <xs:sequence>
            <xs:element name="Application" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Software application name and version number.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ProcessingDateTime" type="xs:dateTime">
                <xs:annotation>
                    <xs:documentation>Date and time defined in Coordinated Universal Time (UTC). The seconds should be followed by a Z to indicate UTC.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Site" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Creation location of product.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Profile" type="xs:string" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Product-specific profile applied during product processing.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ProductCreationType">
        <xs:annotation>
            <xs:documentation>Contains general information about product creation.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ProcessorInformation" type="ProcessorInformationType">
                <xs:annotation>
                    <xs:documentation>Details regarding processor.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Classification" type="ProductClassificationType">
                <xs:annotation>
                    <xs:documentation>The overall classification of the product.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ProductName" type="xs:string">
                <xs:annotation>
                    <xs:documentation>The output product name defined by the processor.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ProductClass" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Class of product. (examples: Dynamic Image, Amplitude Change Detection, Coherent Change Detection, etc.).</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ProductType" type="xs:string" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Type of sub-product. (examples: Frame #, Reference, Match, etc.). This field is only needed if there is a suite of associated products.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ProductCreationExtension" type="sicommon:ParameterType" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Extensible parameters used to support profile-specific needs related to product creation.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GeoDataType">
        <xs:annotation>
            <xs:documentation>This block describes the geographic coordinates of the region covered by the image.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="EarthModel" type="EarthModelType">
                <xs:annotation>
                    <xs:documentation>Identifies the earth model used for latitude, longitude and height parameters. All height values are Height Above The Ellipsoid (HAE).</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ImageCorners" type="ImageCornersType">
                <xs:annotation>
                    <xs:documentation>
                        Parameters apply to image corners of the product projected to the same height as the SCP.
                        These corners are an approximate geographic location that is not intended for analytical use.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ValidData" type="PolygonType">
                <xs:annotation>
                    <xs:documentation>
                        Indicates the full image includes both valid data and some zero filled pixels.
                        Simple convex polygon enclosed the valid data (may include some zero filled pixels for simplification). Vertices in clockwise order.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element ref="sicommon:GeoInfo" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Parameters describing geographic features. Note: the GeoInfo block may be used as a block within itself.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="EarthModelType">
        <xs:annotation>
            <xs:documentation>Identifies the earth model used for latitude, longitude and height parameters. All height values are Height Above The Ellipsoid (HAE).</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="WGS_84"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="ImageCornersType">
        <xs:annotation>
            <xs:documentation>
                Parameters apply to image corners of the product projected to the same height as the SCP.
                These corners are an approximate geographic location that is not intended for analytical use.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ICP" minOccurs="4" maxOccurs="4">
                <xs:annotation>
                    <xs:documentation>Image Corner Point (ICP) data for the 4 corners in product. ICPs indexed x = 1, 2, 3, 4, clockwise.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="sicommon:LatLonType">
                            <xs:attribute name="index" type="sicommon:CornerStringType" use="required"/>
                        </xs:extension>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PolygonType">
        <xs:annotation>
            <xs:documentation>
                Indicates the full image includes both valid data and some zero filled pixels.
                Simple convex polygon enclosed the valid data (may include some zero filled pixels for simplification). Vertices in clockwise order.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Vertex" type="sicommon:LatLonVertexType" minOccurs="3" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>
                        Vertices indexed n = 1, 2, ..., NumVertices. NumVertices >= 3. Vertex 1 is determined by (1) minimum row index, (2) minimum column index if 2 vertices with minimum row index,
                        1st and last vertices are connected to form the polygon.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="size" type="xs:int" use="required"/>
    </xs:complexType>
    <xs:complexType name="ValidDataType">
        <xs:annotation>
            <xs:documentation>
                Indicates the full image includes both valid data and some zero filled pixels.
                Simple convex polygon enclosed the valid data (may include some zero filled pixels for simplification). Vertices in clockwise order.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Vertex" type="sicommon:RowColVertexType" minOccurs="3" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>
                        Vertices indexed n = 1, 2, ..., NumVertices. NumVertices >= 3. Vertex 1 is determined by (1) minimum row index, (2) minimum column index if 2 vertices with minimum row index,
                        1st and last vertices are connected to form the polygon.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="size" type="xs:int" use="required"/>
    </xs:complexType>
    <xs:complexType name="GeometricChipType">
        <xs:annotation>
            <xs:documentation>
                Contains information related to downstream chipping of the product. There is only one instance, and the instance is updated with respect to the full image parameters.
                For example, if an image is chipped out of a smaller chip, the new chip needs to be updated to the original full image corners.
                Since this relationship is linear, bi-linear interpolation is sufficient to determine an arbitrary chip coordinate in terms
                of the original full image coordinates. Chipping is typically done using an exploitation tool, and should not be done in the initial product creation.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ChipSize" type="sicommon:RowColIntType">
                <xs:annotation>
                    <xs:documentation>Size of the chipped product in pixels.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="OriginalUpperLeftCoordinate" type="sicommon:RowColDoubleType">
                <xs:annotation>
                    <xs:documentation>Upper-left corner with respect to the original product.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="OriginalUpperRightCoordinate" type="sicommon:RowColDoubleType">
                <xs:annotation>
                    <xs:documentation>Upper-right corner with respect to the original product.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="OriginalLowerLeftCoordinate" type="sicommon:RowColDoubleType">
                <xs:annotation>
                    <xs:documentation>Lower-left corner with respect to the original product.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="OriginalLowerRightCoordinate" type="sicommon:RowColDoubleType">
                <xs:annotation>
                    <xs:documentation>Lower-right corner with respect to the original product.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ProcessingEventType">
        <xs:annotation>
            <xs:documentation/>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ApplicationName" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Application which applied a modification.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="AppliedDateTime" type="xs:dateTime">
                <xs:annotation>
                    <xs:documentation>Date and time defined in Coordinated Universal Time (UTC). The seconds should be followed by a Z to indicate UTC.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="InterpolationMethod" type="xs:string" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Type of interpolation applied to the data.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Descriptor" type="sicommon:ParameterType" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Descriptor for the processing event.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DownstreamReprocessingType">
        <xs:annotation>
            <xs:documentation/>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="GeometricChip" type="GeometricChipType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Contains information related to downstream chipping of the product.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ProcessingEvent" type="ProcessingEventType" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Contains information related to downstream processing of the product.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ProductProcessingType">
        <xs:annotation>
            <xs:documentation>
                Computed metadata regarding one or more of the input collections and final product.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ProcessingModule" type="ProcessingModuleType" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Processing module to keep track of the name and any parameters associated with the algorithms used to produce the SIDD.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ProcessingModuleType">
        <xs:annotation>
            <xs:documentation/>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ModuleName" type="sicommon:ParameterType">
                <xs:annotation>
                    <xs:documentation>The name of the algorithm used in processing the product.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:choice minOccurs="0">
                <xs:element name="ModuleParameter" type="sicommon:ParameterType" maxOccurs="unbounded">
                    <xs:annotation>
                        <xs:documentation>Parameters associated with the algorithm used in processing the product.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="ProcessingModule" type="ProcessingModuleType" maxOccurs="unbounded">
                    <xs:annotation>
                        <xs:documentation>ProcessingModule is a repeatable structure within itself to create an algorithm as a subset of another algorithm.</xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ExploitationFeaturesProductType">
        <xs:annotation>
            <xs:documentation>Metadata regarding the product.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Resolution" type="sicommon:RowColDoubleType">
                <xs:annotation>
                    <xs:documentation>Uniformly-weighted resolution projected into the Earth Tangent Plane (ETP).</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Ellipticity" type="xs:double">
                <xs:annotation>
                    <xs:documentation>Ellipticity of the 2D-IPR at the ORP, measured in the Earth Geodetic Tangent Plane (EGTP). Ellipticity is the ratio of the IPR ellipse's major axis to minor axis.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Polarization" type="ProcTxRcvPolarizationType" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Describes the processed transmit and receive polarizations for the product.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="North" type="sicommon:Neg180To180Type" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Counter-clockwise angle from increasing row direction to north at the center of the image.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Extension" type="sicommon:ParameterType" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Exploitation feature extension for the end product</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ExploitationFeaturesType">
        <xs:annotation>
            <xs:documentation>Computed metadata regarding the collect.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Collection" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Metadata regarding one of the input collections.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="ExploitationFeaturesCollectionType">
                            <xs:attribute name="identifier" type="xs:string" use="required"/>
                        </xs:extension>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
            <xs:element name="Product" type="ExploitationFeaturesProductType" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Metadata regarding the product.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="InputROIType">
        <xs:annotation>
            <xs:documentation>ROI representing portion of input data used to make this product.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Size" type="sicommon:RowColIntType">
                <xs:annotation>
                    <xs:documentation>Number of rows and columns extracted from the input.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="UpperLeft" type="sicommon:RowColIntType">
                <xs:annotation>
                    <xs:documentation>The upper-left pixel extracted from the input.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TxRcvPolarizationType">
        <xs:sequence>
            <xs:element name="TxPolarization" type="sicommon:Polarization1Type">
                <xs:annotation>
                    <xs:documentation>Polarization transmit type</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="RcvPolarization" type="sicommon:Polarization1Type">
                <xs:annotation>
                    <xs:documentation>Receive polarization type</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="RcvPolarizationOffset" type="sicommon:Neg180To180Type" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Optional angle offset for the receive polarization defined at aperture center.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ProcTxRcvPolarizationType">
        <xs:sequence>
            <xs:element name="TxPolarizationProc" type="sicommon:Polarization1Type">
                <xs:annotation>
                    <xs:documentation>Polarization transmit type</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="RcvPolarizationProc" type="sicommon:Polarization1Type">
                <xs:annotation>
                    <xs:documentation>Receive polarization type</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ExploitationFeaturesCollectionInformationType">
        <xs:annotation>
            <xs:documentation>General collection information.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="SensorName" type="xs:string">
                <xs:annotation>
                    <xs:documentation>The name of the sensor.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="RadarMode" type="sicommon:RadarModeType">
                <xs:annotation>
                    <xs:documentation>Radar collection mode.  The ModeType refers to the collection type [SPOTLIGHT, STRIPMAP, DYNAMIC STRIPMAP].  The optional ModeID is used to represent system-specific mode identifiers.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="CollectionDateTime" type="xs:dateTime">
                <xs:annotation>
                    <xs:documentation>Collection date and time defined in Coordinated Universal Time (UTC). The seconds should be followed by a Z to indicate UTC.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="LocalDateTime" type="xs:dateTime" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Date and time defined in local time.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="CollectionDuration" type="xs:double">
                <xs:annotation>
                    <xs:documentation>The duration of the collection (units = seconds).</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Resolution" type="sicommon:RangeAzimuthType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Uniformly-weighted resolution (range and azimuth) processed in the slant plane.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="InputROI" type="InputROIType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>ROI representing portion of input data used to make this product.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Polarization" type="TxRcvPolarizationType" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Transmit and receive polarization.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ExploitationFeaturesCollectionGeometryType">
        <xs:annotation>
            <xs:documentation>Key geometry parameters independent of product processing. All values computed at the center time of the full collection.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Azimuth" type="xs:double" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Angle clockwise from north indicating the ETP line of sight vector.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Slope" type="sicommon:ZeroTo90Type" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Angle between the ETP at scene center and the range vector perpendicular to the direction of motion.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Squint" type="sicommon:Neg180To180Type" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Angle from the ground track to platform velocity vector at nadir. Left-look is positive, right-look is negative.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Graze" type="sicommon:ZeroTo90Type" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Angle between the ETP and the line of sight vector.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Tilt" type="sicommon:Neg180To180Type" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Angle between the ETP and the cross range vector. Also known as the twist angle.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="DopplerConeAngle" type="sicommon:ZeroToExclusive180Type" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>The angle between the velocity vector and the radar line-of-sight vector. Also known as the slant plane squint angle.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Extension" type="sicommon:ParameterType" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Exploitation feature extension related to geometry for a single input image</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ExploitationFeaturesCollectionPhenomenologyType">
        <xs:annotation>
            <xs:documentation>Phenomenology related to both the geometry and the final product processing. All values computed at the center time of the full collection.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Shadow" type="sicommon:AngleMagnitudeType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>The phenomon where vertical objects occlude radar energy.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Layover" type="sicommon:AngleMagnitudeType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>The phenomenon where vertical objects appear as ground objects with the same range/range rate.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="MultiPath" type="sicommon:Neg180To180Type" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>This is a range dependent phenomenon which describes the energy from a single scatter returned to the radar via more than one path and results in a nominally constant direction in the ETP.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="GroundTrack" type="sicommon:Neg180To180Type" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Counter-clockwise angle from increasing row direction to ground track at the center of the image.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Extension" type="sicommon:ParameterType" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Exploitation feature extension related to phenomenology for a single input image</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ExploitationFeaturesCollectionType">
        <xs:sequence>
            <xs:element name="Information" type="ExploitationFeaturesCollectionInformationType">
                <xs:annotation>
                    <xs:documentation>General collection information.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Geometry" type="ExploitationFeaturesCollectionGeometryType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Key geometry parameters independent of product processing.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Phenomenology" type="ExploitationFeaturesCollectionPhenomenologyType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Phenomenology related to both the geometry and the final product processing.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CompressionType">
        <xs:annotation>
            <xs:documentation>
                Contains information regarding any compression that has occured to the image data.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="J2K" type="J2KType">
                <xs:annotation>
                    <xs:documentation>Block describing details of JPEG 2000 compression.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="J2KType">
        <xs:sequence>
            <xs:element name="Original" type="J2KSubtype"/>
            <xs:element name="Parsed" type="J2KSubtype" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        Conditional fields that exist only for parsed images.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="J2KSubtype">
        <xs:sequence>
            <xs:element name="NumWaveletLevels" type="xs:int">
                <xs:annotation>
                    <xs:documentation>
                        The default number of wavelet decompositionlevels performed per tile in the original image out of the processors.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="NumBands" type="xs:int">
                <xs:annotation>
                    <xs:documentation>
                        The number of spectral bands in the original image out of the processors.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="LayerInfo" type="LayerInfoType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        Original Layer Information. The following fileds repeat for all layers in (0, 1, ..., numLayers - 1).
                        The default number of layers per tile in original image out of the original processor.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LayerInfoType">
        <xs:annotation>
            <xs:documentation>
                Original Layer Information. The following fileds repeat for all layers in (0, 1, ..., numLayers - 1).
                The default number of layers per tile in original image out of the original processor.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Layer" type="LayerType" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>
                        Layer Index Number indicates the number of layers being described. Layers are numbered from 0 to (numLayers - 1).
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="numLayers" type="xs:int" use="required"/>
    </xs:complexType>
    <xs:complexType name="LayerType">
        <xs:sequence>
            <xs:element name="Bitrate" type="xs:double">
                <xs:annotation>
                    <xs:documentation>
                        The bit rate target associated with the layer. It may happen that the bit rate was not achieved due to data characteristics.
                        Note: for JPEG 2000 numerically lossless quality, the bit rate for the final layer is an expected value, based on performance.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="index" type="xs:positiveInteger" use="required"/>
    </xs:complexType>
    <xs:complexType name="DigitalElevationDataType">
        <xs:annotation>
            <xs:documentation>
                This block describes the Digital ElevatioNData when it is included with the SIDD product.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="GeographicCoordinates" type="GeographicCoordinatesType">
                <xs:annotation>
                    <xs:documentation>
                        Describes the Local Geographic Coordinate system linking row/column to the absolute geographic coordinate (lat/lon)
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Geopositioning" type="GeopositioningType">
                <xs:annotation>
                    <xs:documentation>
                        Describes the absolute coordinate system to which the data is referenced.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="PositionalAccuracy" type="PositionalAccuracyType">
                <xs:annotation>
                    <xs:documentation>
                        Describes the horizontal and vertical point and regional information for the DED.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="NullValue" type="xs:int" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GeographicCoordinatesType">
        <xs:annotation>
            <xs:documentation>
                Describes the Local Geographic Coordinate system linking row/column to the absolute geographic coordinate (lat/lon)
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="LongitudeDensity" type="xs:double">
                <xs:annotation>
                    <xs:documentation>
                        Pixel ground spacing in E/W direction that is the number of pixels or element intervals in 360 degrees.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="LatitudeDensity" type="xs:double">
                <xs:annotation>
                    <xs:documentation>
                        Pixel ground spacing in N/S direction that is the number of pixels or element intervals in 360 degrees.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ReferenceOrigin" type="sicommon:LatLonType">
                <xs:annotation>
                    <xs:documentation>
                        Northwest corner Latitude/Longitude - product NW corner
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GeopositioningType">
        <xs:annotation>
            <xs:documentation>
                Describes the absolute coordinate system to which the data is referenced.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="CoordinateSystemType">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="GCS"/>
                        <xs:enumeration value="UTM"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="GeodeticDatum">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="World Geodetic System 1984"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="ReferenceEllipsoid">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="World Geodetic System 1984"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="VerticalDatum">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="Mean Sea Level"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="SoundingDatum">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="Mean Sea Level"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="FalseOrigin" type="xs:int">
                <xs:annotation>
                    <xs:documentation>Z values false origin</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="UTMGridZoneNumber" type="xs:int" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        Gride zone number, required for UTM, not include for GCS. (4 character field) Values: +001 to +060 (northern hemisphere) -001 to -060 (southern hemisphere)
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PositionalAccuracyType">
        <xs:annotation>
            <xs:documentation>
                Describes the horizontal and vertical point and regional information for the DED.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="NumRegions" type="xs:int">
                <xs:annotation>
                    <xs:documentation>
                        Number of positional accuracy regions.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="AbsoluteAccuracy" type="AccuracyType"/>
            <xs:element name="PointToPointAccuracy" type="AccuracyType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AccuracyType">
        <xs:sequence>
            <xs:element name="Horizontal" type="xs:double" maxOccurs="unbounded"/>
            <xs:element name="Vertical" type="xs:double" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AnnotationsType">
        <xs:sequence>
            <xs:element name="Annotation" type="AnnotationType" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Annotation Object.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AnnotationObjectType">
        <xs:annotation>
            <xs:documentation>Geometrical representation of the annotation.</xs:documentation>
        </xs:annotation>
        <xs:choice>
            <xs:element name="Point" type="sfa:PointType"/>
            <xs:element name="Line" type="sfa:LineType"/>
            <xs:element name="LinearRing" type="sfa:LinearRingType"/>
            <xs:element name="Polygon" type="sfa:PolygonType"/>
            <xs:element name="PolyhedralSurface" type="sfa:PolyhedralSurfaceType"/>
            <xs:element name="MultiPolygon" type="sfa:MultiPolygonType"/>
            <xs:element name="MultiLineString" type="sfa:MultiLineStringType"/>
            <xs:element name="MultiPoint" type="sfa:MultiPointType"/>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="AnnotationType">
        <xs:annotation>
            <xs:documentation>Single annotation.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Identifier" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Identifier for the annotation which idicates the type of object represented by this annotation.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="SpatialReferenceSystem" type="sfa:ReferenceSystemType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Spatial reference system of the annotation.  Assumed to be WGS-84 geographic coordinate system if not specified with (lat, lon, h) units in (arc-sec, arc-sec, meters above ellipsoid). </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Object" type="AnnotationObjectType" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>The geometrical representation of the annotation.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="SIDD">
        <xs:annotation>
            <xs:documentation>Root element of the SIDD document.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="ProductCreation" type="ProductCreationType">
                    <xs:annotation>
                        <xs:documentation>Information related to processor, classification, and product type.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="Display" type="ProductDisplayType">
                    <xs:annotation>
                        <xs:documentation>Contains information on the parameters needed to display the product in an exploitation tool.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="GeoData" type="GeoDataType">
                    <xs:annotation>
                        <xs:documentation>Contains generic and extensible targeting and geographic region information.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="Measurement" type="MeasurementType">
                    <xs:annotation>
                        <xs:documentation>Contains the metadata necessary for performing measurements.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="ExploitationFeatures" type="ExploitationFeaturesType">
                    <xs:annotation>
                        <xs:documentation>Computed metadata regarding the input collections and final product.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="DownstreamReprocessing" type="DownstreamReprocessingType" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>Contains metadata related to downstream processing of the product.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="ErrorStatistics" type="sicommon:ErrorStatisticsType" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>See SICD documentation for metadata definitions.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="Radiometric" type="sicommon:RadiometricType" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>Radiometric information about the product.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="MatchInfo" type="sicommon:MatchInfoType" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            Information about other collections that are matched to the current collection. The current collection is the collection from which this SIDD product was generated.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="Compression" type="CompressionType" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            Contains information regarding any compression that has occured to the image data.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="DigitalElevationData" type="DigitalElevationDataType" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            This block describes the Digital ElevatioNData when it is included with the SIDD product.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="ProductProcessing" type="ProductProcessingType" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>Contains metadata related to algorithms used during product generation.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="Annotations" type="AnnotationsType" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>List of annotations for the imagery.</xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>
