<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 (http://www.altova.com) by Administrator (Nagravision SA) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="nes.cex.sp.ml.nagra.com" xmlns:cfg="cfg.sp.ml.nagra.com" targetNamespace="nes.cex.sp.ml.nagra.com" elementFormDefault="qualified">
   <xs:include schemaLocation="../Nagravision-Common-Types-Export-Specification-v5.x.xsd" />
   <xs:import namespace="cfg.sp.ml.nagra.com" schemaLocation="../Nagravision-Cfg-Specification-v1.x.xsd" />
   <xs:element name="contentData" type="ContentDataType">
      <xs:annotation>
         <xs:documentation>Root element of the data structure. Each file generated by the exporter will contain exactly one instance of this element</xs:documentation>
      </xs:annotation>
   </xs:element>
   <xs:complexType name="ContentDataType">
      <xs:sequence>
         <xs:element name="profile" type="cfg:ProfileType" minOccurs="0" maxOccurs="unbounded" />
         <xs:element name="contentGroup" type="ContentGroupType" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
               <xs:documentation>This element defines a content group to create/update.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="editorialContent" type="EditorialContentType" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
               <xs:documentation>This element defines an editorial content to create/update.
This element handles editorial metadata about content (VOD, Live or other).</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="technicalContent" type="TechnicalContentType" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
               <xs:documentation>This element defines a technical content to create/update.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="trailerLink" type="TrailerLinkType" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="executionDate" type="gmtdatetime" use="required">
         <xs:annotation>
            <xs:documentation>Provides a reference date for the XML file. Normally will be the date and time that the file's provider generated it.
Eg "2011-08-04T08:15:58Z"</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="EditorialContentType">
      <xs:complexContent>
         <xs:extension base="BaseResourceTypeWithMetadata">
            <xs:sequence>
               <xs:element name="period" type="PeriodType" minOccurs="0">
                  <xs:annotation>
                     <xs:documentation>This period allow to specify the start and end date of the event</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="referenceAsset" type="ReferenceAssetType" minOccurs="0" maxOccurs="unbounded">
                  <xs:annotation>
                     <xs:documentation>A reference asset of the editorial content. All reference asset type must be unique per editorial content.
If a reference asset with the specified type does not exist, it will be created. Otherwise it will be updated.</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="parentalRatings" type="ParentalRatingSetType" minOccurs="0" maxOccurs="1">
                  <xs:annotation>
                     <xs:documentation>Parental ratings used to decide suitability for certain audiences based on its content</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="contentGroupRef" type="BaseResourceType" minOccurs="0">
                  <xs:annotation>
                     <xs:documentation>Weak reference to an external content group (series or other). This content group is not necessary existing.</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="seasonRef" type="BaseResourceType" minOccurs="0">
                  <xs:annotation>
                     <xs:documentation>Refers to the season content group to which content belongs</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="seriesRef" type="BaseResourceType" minOccurs="0">
                  <xs:annotation>
                     <xs:documentation>Refers to the series content group to which content belongs</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="contentGroupRefSet" type="ContentGroupRefSetType" minOccurs="0" maxOccurs="1">
                  <xs:annotation>
                     <xs:documentation>Weak reference to an external content group (Other than series and season. This content group is not necessary existing).</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="nodeRefSet" type="NodeRefSetType" minOccurs="0" maxOccurs="1">
                  <xs:annotation>
                     <xs:documentation>Weak reference to an external node </xs:documentation>
                  </xs:annotation>
               </xs:element>
            </xs:sequence>
            <xs:attribute name="contentType" type="ContentTypeEnumType">
               <xs:annotation>
                  <xs:documentation>The type of editorial content.</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="TechnicalContentType">
      <xs:complexContent>
         <xs:extension base="BaseResourceTypeWithMetadata">
            <xs:sequence>
               <xs:element name="period" type="PeriodType" minOccurs="0">
                  <xs:annotation>
                     <xs:documentation>This period allow to specify the start and end date of the event</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="playableAsset" type="PlayableAssetType" minOccurs="0">
                  <xs:annotation>
                     <xs:documentation>The playable asset of the technical content.
If the playable asset does not exist, it will be created. Otherwise it will be updated.</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="assets" type="SupplementaryAssetType" minOccurs="0" maxOccurs="unbounded">
                  <xs:annotation>
                     <xs:documentation>List of supplementary asset of the technical content.If the supplementary asset does not exist, it will be created. Otherwise it will be updated.</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="editorialContentRef" type="BaseResourceType">
                  <xs:annotation>
                     <xs:documentation>Reference to the editorial content containing this technical content</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="securityInfo" type="SecurityInfoType" minOccurs="0">
                  <xs:annotation>
                     <xs:documentation>Element describing a set of data related to a specific security device (Cas, Drm).</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="timeShifting" minOccurs="0">
                  <xs:annotation>
                     <xs:documentation>Data relative to the TimeShifting feature</xs:documentation>
                  </xs:annotation>
                  <xs:complexType>
                     <xs:attribute name="shortTermCatchUpSupport" type="xs:boolean" use="optional">
                        <xs:annotation>
                           <xs:documentation>Indicate if the Short Term Catch-Up feature is activated for this technical content.</xs:documentation>
                        </xs:annotation>
                     </xs:attribute>
                     <xs:attribute name="longTermCatchUpSupport" type="xs:boolean" use="optional">
                        <xs:annotation>
                           <xs:documentation>Indicate if the Long Term Catch-Up feature is activated for this technical content.</xs:documentation>
                        </xs:annotation>
                     </xs:attribute>
                  </xs:complexType>
               </xs:element>
               <xs:element name="rights" minOccurs="0">
                  <xs:annotation>
                     <xs:documentation>Set of properties describing the consumption capabilities of a content</xs:documentation>
                  </xs:annotation>
                  <xs:complexType>
                     <xs:attribute name="storageAllowed" type="xs:boolean" use="optional">
                        <xs:annotation>
                           <xs:documentation>Allow a client to download the Content</xs:documentation>
                        </xs:annotation>
                     </xs:attribute>
                  </xs:complexType>
               </xs:element>
            </xs:sequence>
            <xs:attribute name="profileId">
               <xs:annotation>
                  <xs:documentation>Weak reference to the id of the profile characterizing the technical content</xs:documentation>
               </xs:annotation>
            </xs:attribute>
         </xs:extension>
      </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="ContentGroupType">
      <xs:complexContent>
         <xs:extension base="BaseResourceTypeWithMetadata">
            <xs:sequence>
               <xs:element name="period" type="PeriodType" minOccurs="0">
                  <xs:annotation>
                     <xs:documentation>This period allows to specify the start and end date of the content group</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="parentRef" type="BaseResourceType" minOccurs="0">
                  <xs:annotation>
                     <xs:documentation>Weak reference to a parent content group. This content group is not necessary existing.</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="nodeRefSet" type="NodeRefSetType" minOccurs="0" maxOccurs="1">
                  <xs:annotation>
                     <xs:documentation>Weak reference to an external node </xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="preferenceSet" type="preferenceSetType" minOccurs="0" maxOccurs="1">
                  <xs:annotation>
                     <xs:documentation>Reference of the EditorialContents and ContentGroups</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="orderingFields" type="orderingFieldsType" minOccurs="0" maxOccurs="1">
                  <xs:annotation>
                     <xs:documentation>orderingField when set tailors the return order of ContentGroup items</xs:documentation>
                  </xs:annotation>
               </xs:element>               
               <xs:element name="subType" type="xs:string" minOccurs="0" maxOccurs="1">
                  <xs:annotation>
                     <xs:documentation>subType is sub Category of Content Group other than season, series, movieGroup and collection.For now operator can define any value</xs:documentation>
                  </xs:annotation>
               </xs:element>                               
            </xs:sequence>
            <xs:attribute name="type" type="ContentGroupEnumType" use="required">
               <xs:annotation>
                  <xs:documentation>The type of editorial content.Only allowed value is movie,tvshow,episode,match,race,trailer,highlight,music,podcast,news,link,unknown.</xs:documentation>
               </xs:annotation>
            </xs:attribute>          
         </xs:extension>
      </xs:complexContent>
   </xs:complexType>
   <!-- content group type enum -->
   <xs:simpleType name="ContentGroupEnumType">
      <xs:annotation>
         <xs:documentation>enumeration characterizing a content group type</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:enumeration value="series" />
         <xs:enumeration value="season" />
         <xs:enumeration value="movieGroup" />
         <xs:enumeration value="collection" />
      </xs:restriction>
   </xs:simpleType>
   <!-- content type enum -->
   <xs:simpleType name="ContentTypeEnumType">
      <xs:annotation>
         <xs:documentation>enumeration characterizing a content type</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:enumeration value="movie" />
         <xs:enumeration value="trailer" />
         <xs:enumeration value="tvshow" />
         <xs:enumeration value="episode" />
         <xs:enumeration value="match" />
         <xs:enumeration value="race" />
         <xs:enumeration value="highlight" />
         <xs:enumeration value="music" />
         <xs:enumeration value="podcast" />
         <xs:enumeration value="news" />
         <xs:enumeration value="link" />
         <xs:enumeration value="short-form"/>
         <xs:enumeration value="unknown" />
      </xs:restriction>
   </xs:simpleType>
   <!--Assets definitions -->
   <xs:simpleType name="AssetDeviceLocationEnumType">
      <xs:annotation>
         <xs:documentation>enumeration characterizing an asset device location</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:enumeration value="source" />
         <xs:enumeration value="destination" />
         <xs:enumeration value="archive" />
         <xs:enumeration value="other" />
      </xs:restriction>
   </xs:simpleType>
   <xs:complexType name="AssetDeviceLocationType">
      <xs:annotation>
         <xs:documentation>Also called ADL, it is a type describing the asset location on a specific storage device.</xs:documentation>
      </xs:annotation>
      <xs:attribute name="relativePath" type="xs:string" use="required">
         <xs:annotation>
            <xs:documentation>Relative path (e.g. folder/ or ./folder1/folder2/) against the storage device accesspoint. It can be empty.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="storageDeviceId" type="xs:string" use="required">
         <xs:annotation>
            <xs:documentation>id of the storage device where the asset is located. this storage device will be accessed through one of its access points</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="type" type="AssetDeviceLocationEnumType" use="required">
         <xs:annotation>
            <xs:documentation>enumeration characterizing an asset device location</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="ContentGroupRefSetType">
      <xs:annotation>
         <xs:documentation>Set of content groups to which content is linked (content groups other than series,season,movieGroup)</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="contentGroupRef" type="BaseResourceType" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="NodeRefSetType">
      <xs:annotation>
         <xs:documentation>Set of content groups to which content is linked (content groups other than series,season,movieGroup)</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="nodeRef" type="BaseResourceType" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="orderingFieldsType">
      <xs:annotation>
         <xs:documentation>orderingField when set tailors the return order of ContentGroup items</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="orderingField" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
   </xs:complexType>      
   <xs:complexType name="ReferenceAssetType">
      <xs:annotation>
         <xs:documentation>type describing a reference asset.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="metadataSet" type="MetadataSetNoLocaleType" minOccurs="0">
            <xs:annotation>
               <xs:documentation>The Metadata Set Type which defines a specific set of metadata for the locale "none"</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="assetDeviceLocation" type="AssetDeviceLocationType" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
               <xs:documentation>Also called ADL, it is a set of data describing the asset location on a specific storage device.
All ADL type must be unique per asset.
If an ADL with the specified type does not exist, it will be created. Otherwise it will be updated.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="uri" type="xs:anyURI" use="optional">
         <xs:annotation>
            <xs:documentation>It can be an id using the schema "id" (e.g. id:de305d54-75b4) or a path relative to the ADL using the schema "relpath" (e.g. relpath://folder/; relpath://folder/mib.m3u8 or relpath:mib.m3u8)</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="type" type="xs:string" use="required">
         <xs:annotation>
            <xs:documentation>It is a generic keyword allowing to identify the type of reference asset (e.g. HD or SD)</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="PlayableAssetType">
      <xs:annotation>
         <xs:documentation>type describing a playable asset</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="metadataSet" type="MetadataSetNoLocaleType" minOccurs="0">
            <xs:annotation>
               <xs:documentation>The Metadata Set Type which defines a specific set of metadata for the locale "none"</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="assetDeviceLocation" type="AssetDeviceLocationType" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
               <xs:documentation>Also called ADL, it is a set of data describing the asset location on a specific storage device.
All ADL type must be unique per asset.
If an ADL with the specified type does not exist, it will be created. Otherwise it will be updated.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="uri" type="xs:anyURI" use="optional">
         <xs:annotation>
            <xs:documentation>It can be an id using the schema "id" (e.g. id:de305d54-75b4) or a path relative to the ADL using the schema "relpath" (e.g. relpath://folder/; relpath://folder/mib.m3u8 or relpath:mib.m3u8)</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <!-- Supplementary  Asset Definition -->
   <xs:complexType name="SupplementaryAssetType">
      <xs:annotation>
         <xs:documentation>type describing a Supplementary or Supportive asset other than Playable or reference asset</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="metadataSet" type="MetadataSetNoLocaleType" minOccurs="0">
            <xs:annotation>
               <xs:documentation>The Metadata Set Type which defines a specific set of metadata for the locale "none"</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="assetDeviceLocation" type="AssetDeviceLocationType" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
               <xs:documentation>Also called ADL, it is a set of data describing the asset location on a specific storage device.All ADL type must be unique per asset.If an ADL with the specified type does not exist, it will be            created. Otherwise it will be updated.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="uri" type="xs:anyURI" use="required">
         <xs:annotation>
            <xs:documentation>It can be an id using the schema "id" (e.g. id:de305d54-75b4) or a path relative to the ADL using the schema "relpath" (e.g. relpath://folder/; relpath://folder/mib.m3u8 or relpath:mib.m3u8)</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="type" type="xs:string" use="required">
         <xs:annotation>
            <xs:documentation>It is a generic keyword allowing to identify the type of Supplementary asset (e.g. HD or SD)</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="TrailerLinkType">
      <xs:sequence>
         <xs:element name="trailerRef" type="BaseResourceType">
            <xs:annotation>
               <xs:documentation>Reference to the trailer</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="promotableRef">
            <xs:annotation>
               <xs:documentation>Reference to the promotable</xs:documentation>
            </xs:annotation>
            <xs:complexType>
               <xs:complexContent>
                  <xs:extension base="BaseResourceType">
                     <xs:attribute name="type" type="PromotableEnumType" use="required">
                        <xs:annotation>
                           <xs:documentation>Allows to specify the kind of promotable that a trailer is linked to.</xs:documentation>
                        </xs:annotation>
                     </xs:attribute>
                  </xs:extension>
               </xs:complexContent>
            </xs:complexType>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="priorityOrder" type="xs:unsignedInt" use="optional">
         <xs:annotation>
            <xs:documentation>Priority Order of the trailer linked to Promotable content.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:simpleType name="PromotableEnumType">
      <xs:annotation>
         <xs:documentation>enumeration characterizing a promotable.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:enumeration value="editorialContent" />
      </xs:restriction>
   </xs:simpleType>
</xs:schema>