<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="nis.cim.sp.ml.nagra.com" targetNamespace="nis.cim.sp.ml.nagra.com" elementFormDefault="qualified">
  <xs:include schemaLocation="Nagravision-Common-Types-Import-Specification-v5.x.xsd"/>  
  <xs:complexType name="CMSDataType">
    <xs:sequence minOccurs="0">
      <xs:element name="deleteTrailerLink" type="DeleteTrailerLinkType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines the trailer link to delete. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deleteProductLink" type="DeleteProductLinkType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines the product link to delete. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="removeCms4ProductLink" type="DeleteProductLinkType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines the product link to delete. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deleteCms4ProductLinkSet" type="DeleteCms4ProductLinkType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines the cms4 product link to delete.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deleteProduct" type="BaseResourceType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines the product to delete. All data nested in the element product will be deleted.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deleteNodeLink" type="DeleteNodeLinkType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines the node link to delete.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deleteNode" type="BaseResourceType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines a node to delete.
All data nested in the element node will be deleted. Child nodes are not deleted</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deletePlayableAsset" type="BaseResourceType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines a playable asset to delete.
All data nested in the element playableAsset will be deleted</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deleteSecurityInfo" type="BaseResourceType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines a security info to delete.
All data nested in the element securityInfo will be deleted</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deleteParentalRating" type="DeleteParentalRatingType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines a parental rating to delete.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deleteReferenceAsset" type="DeleteReferenceAssetType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines a reference asset to delete.
All data nested in the element ReferenceAsset will be deleted</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deleteAsset" type="DeleteSupplementaryAssetType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines a Supplementary asset to delete.
All data nested in the element SupplementaryAsset will be deleted</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deleteTechnicalContent" type="BaseResourceType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines a technical content to delete.
All data nested in the element TechnicalContent will be deleted</xs:documentation>
        </xs:annotation>
      </xs:element>
	  <xs:element name="deleteTechnicalChannel" type="BaseResourceType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines a technical channel to delete.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deleteEditorialChannel" type="BaseResourceType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines an editorial channel to delete. 
If an event or a technicalChannel is attached to it, the deletion will fail.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deleteEditorialContent" type="BaseResourceType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines an editorial content to delete. 
If a technicalContent is attached to it, the deletion will fail.
All data nested in the element editorialContent will be deleted. If one or more events are linked to this editorialContent, the editorialContent deletion will succeed without deleting the related events.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deleteContentGroup" type="BaseResourceType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines a content group to delete.
All data nested in the element Content Group will be deleted</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deleteContentGroupLink" type="DeleteContentGroupLinkType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines the content group link to delete.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deleteDynamicContentGroup" type="BaseResourceType"
		minOccurs="0" maxOccurs="unbounded">
		<xs:annotation>
			<xs:documentation>This element defines a dynamicContentGroup to delete.
				All data nested in the element dynamicContentGroup will be deleted
			</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="deleteDeepLink" type="BaseResourceType"
		minOccurs="0" maxOccurs="unbounded">
		<xs:annotation>
			<xs:documentation>This element defines a deeplink to delete.
				All data nested in the element deeplink will be deleted
			</xs:documentation>
		</xs:annotation>
	</xs:element>
	  <xs:element name="node" type="NodeType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines a node to create/update.</xs:documentation>
        </xs:annotation>
      </xs:element>
	  <xs:element name="contentGroup" type="ContentGroupType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines a contentGroup to create/update.</xs:documentation>
        </xs:annotation>
      </xs:element> 
      <xs:element name="dynamicContentGroup" type="DynamicContentGroupType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines a DynamicContentGroup 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 handle editorial metadata about content (Video On Demand, Live or other).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="editorialChannel" type="EditorialChannelType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines an editorial channel to create/update.
This element contains the events definition for a specific period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="channelEvents" type="ChannelEventsType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines an channelEvent to create/update.
            This element contains the events definition for a specific period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="technicalChannel" type="TechnicalChannelType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines a technical channel to create/update.</xs:documentation>
        </xs:annotation>
      </xs:element> 
      <xs:element name="deepLink" type="DeepLinkType" minOccurs="0" maxOccurs="unbounded">
		<xs:annotation>
			<xs:documentation>This element defines a deeplink to create/update.
			</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>      
            <!-- for Node link API uncomment below block -->
      <xs:element name="nodeLink" type="NodeLinkType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines the content group link to create/update.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="product" type="ProductType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines a product to create/update.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="productLink" type="AddProductLinkType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines a product link to create/update.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="updateCms4ProductLinks" type="AddProductLinkType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines a product link to create/update.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="trailerLink" type="AddTrailerLinkType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines a trailer link to create/update.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="contentGroupLink" type="ContentGroupLinkType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>This element defines the content group link to create/update.</xs:documentation>
        </xs:annotation>
      </xs:element>

    </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="EventType">
    <xs:complexContent>
      <xs:extension base="BaseResourceTypeWithMetadata">
        <xs:sequence>
           <xs:element name="airingStartTime"
						minOccurs="0">
						<xs:annotation>
							<xs:documentation>
								The Event airing start date and time. ISO 8601 format up to the second and using the "Z" GMT time zone 	indicator. Example:
								2012-05-31T06:10:30Z.
							</xs:documentation>
						</xs:annotation>
			</xs:element>
			<xs:element name="airingEndTime" 
						minOccurs="0">
						<xs:annotation>
							<xs:documentation>
								The Event airing end date and time. ISO 8601 format up to the second and using the "Z" GMT time zone indicator. Example:
								2012-05-31T06:10:30Z.
							</xs:documentation>
						</xs:annotation>
		  </xs:element>
		  <xs:element name="contentLinkId" type="xs:string" minOccurs="0">
	          <xs:annotation>
	            <xs:documentation>this is used to link similar event from different content Provider</xs:documentation>
	          </xs:annotation>
          </xs:element>
		  <xs:element name="isPPV" type="xs:boolean" minOccurs="0" maxOccurs="1">
          	<xs:annotation>
          		<xs:documentation>This Flag indicates if Event is PPV configured</xs:documentation>
          	</xs:annotation>
          </xs:element>
          <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="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 event.</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 event.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
              <xs:attribute name="startOverSupport" type="xs:boolean" use="optional">
                <xs:annotation>
                  <xs:documentation>Indicate if the Start Over feature is activated for this event.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
              <xs:attribute name="networkPvrSupport" type="xs:boolean" use="optional">
                <xs:annotation>
                  <xs:documentation>Indicate Event is nPVR enabled or not.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="images" type="ImageSetType" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Set of images for this event and associated metadata</xs:documentation>
            </xs:annotation>
         </xs:element>
          <xs:element name="persons" type="PersonSetType" minOccurs="0" maxOccurs="1"> 
            <xs:annotation>
              <xs:documentation>Set of persons for this content and associated metadata</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="clientControlsSet" type="ClientControlsSet" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>client Controls used to decide suitability for certain audiences based on its content</xs:documentation>
                </xs:annotation>
            </xs:element>
		  <xs:element name="editorialContentRef" type="BaseResourceType" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Reference to the editorial content (program) containing the editorial metadata of the scheduled event.</xs:documentation>
            </xs:annotation>
          </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:extension>
    </xs:complexContent>
  </xs:complexType>
  
   <xs:complexType name="ChannelEventsTypeWithMetadata">
    <xs:annotation>
      <xs:documentation>This element defines common attributes of all root elements of channelEvents element</xs:documentation>
    </xs:annotation>
    <xs:attribute name="startFrom" type="xs:string" use="optional">
      <xs:annotation>
         <xs:documentation>The duration start from date to be used to filter the results. ISO 8601 format up to the second but no time zone. Example: 2012-05-31T06:10:30Z.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="endUntil" type="xs:string" use="optional">
      <xs:annotation>
         <xs:documentation>The duration end until date to be used to filter the results. ISO 8601 format up to the second but no time zone. Example: 2012-05-31T06:10:30Z.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  
  <xs:complexType name="ChannelEventsType">
    <xs:complexContent>
      <xs:extension base="ChannelEventsTypeWithMetadata">
        <xs:sequence>
          <xs:element name="editorialChannelRef" type="BaseResourceType" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Reference to the editorial channel.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="event" type="EventType" minOccurs="1" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>This element defines all editorial metadata for an event.</xs:documentation>
            </xs:annotation>
          </xs:element>
            <xs:element name="imsType" type="xs:string" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>This element defines all imsType for an event.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  
  <xs:complexType name="EditorialChannelType">
    <xs:complexContent>
      <xs:extension base="BaseResourceTypeWithMetadata">
        <xs:sequence>
          <xs:element name="periodToDelete" type="PeriodWithOptionalStartEndType" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>All Events of this editorial channel with Start and End included in the specified period will be deleted</xs:documentation>
            </xs:annotation>
          </xs:element>
 		  <xs:element name="event" type="EventType" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>This element is deprecated for CMS-5 and used only for CMS-4 backward compatibility support. This element defines all editorial metadata for an event.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="channelEvents" type="ChannelEventsType" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>This element defines all editorial metadata for an channelSet.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="ppvEnabled" type="xs:boolean" minOccurs="0" maxOccurs="1">
          	<xs:annotation>
          		<xs:documentation>This Flag indicates if Channel can have PPV Events</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:sequence>
                <xs:element name="shortTermCatchUpParameters" minOccurs="0">
                  <xs:annotation>
                    <xs:documentation>Definition of the configuration parameters relative to the Short Term Catch-Up feature</xs:documentation>
                  </xs:annotation>
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="eventDefaultFlag" type="xs:boolean">
                        <xs:annotation>
                          <xs:documentation>Indicate the default value of the shortTermCatchUpSupport flag of a new created event</xs:documentation>
                        </xs:annotation>
                      </xs:element>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
                <xs:element name="longTermCatchUpParameters" minOccurs="0">
                  <xs:annotation>
                    <xs:documentation>Definition of the configuration parameters relative to the Long Term Catch-Up feature</xs:documentation>
                  </xs:annotation>
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="eventDefaultFlag" type="xs:boolean">
                        <xs:annotation>
                          <xs:documentation>Indicate the default value of the longTermCatchUpSupport flag of a new created event</xs:documentation>
                        </xs:annotation>
                      </xs:element>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
                <xs:element name="startOverParameters" minOccurs="0">
                  <xs:annotation>
                    <xs:documentation>Definition of the configuration parameters relative to the Start Over feature</xs:documentation>
                  </xs:annotation>
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="eventDefaultFlag" type="xs:boolean">
                        <xs:annotation>
                          <xs:documentation>Indicate the default value of the startOverSupport flag of a new created event</xs:documentation>
                        </xs:annotation>
                      </xs:element>
                      
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
                 <xs:element name="networkPvrParameters" minOccurs="0">
                  <xs:annotation>
                    <xs:documentation>Definition of the configuration parameters relative to the nPvr feature.</xs:documentation>
                  </xs:annotation>
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="eventDefaultFlag" type="xs:boolean">
                        <xs:annotation>
                          <xs:documentation>Indicate the default value of the networkPvrSupport flag of a new created event.</xs:documentation>
                        </xs:annotation>
                      </xs:element>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <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 editorial channel.</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 editorial channel.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
              <xs:attribute name="startOverSupport" type="xs:boolean" use="optional">
                <xs:annotation>
                  <xs:documentation>Indicate if the Start Over feature is activated for this editorial channel.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
              <xs:attribute name="networkPvrSupport" type="xs:boolean" use="optional">
                <xs:annotation>
                  <xs:documentation>Indicate if the network PVR feature is activated for this editorial channel.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>            
          </xs:element>
          
	<xs:element name="guardTime" minOccurs="0">
		<xs:complexType>
			<xs:attribute name="start" type="xs:duration"
				use="required">
				<xs:annotation>
					<xs:documentation>Schedule event start accuracy given as an offset.
						It will be used for any record order to specify the capture start
						(event.start - start). The format is based on ISO 8601
						with restricted allowed pattern: PnDTnHnMnS.If guardTime Start is
						not specified, capture start will equals event start.
					</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="end" type="xs:duration"
				use="required">
				<xs:annotation>
					<xs:documentation>Schedule event end accuracy given as an offset.
						It will be used for any record order to specify the capture end
						(event.end + end). The format is based on ISO 8601 with
						restricted allowed pattern: PnDTnHnMnS. If guardTime End is not
						specified, capture end will equals event end.
					</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element> 
	       
         <xs:element name="images" type="ImageSetType" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Set of images for this channel and associated metadata</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="clientControlsSet" type="ClientControlsSet" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>client Controls used to decide suitability for certain audiences based on its content</xs:documentation>
                </xs:annotation>
            </xs:element>
          <xs:element name="regionalSettings" type="RegionalSettingSetType" minOccurs="0" maxOccurs="1">
             <xs:annotation>
               <xs:documentation>Regional details of the channel</xs:documentation>
             </xs:annotation>
          </xs:element>
          <xs:element name="dvbinfo" type="DvbinfoTypes" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Digital video broadcasting (DVB) is a set of standards that define digital broadcasting using DVB satellite, cable and terrestrial broadcasting infrastructures.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="aliases" type="AliasesSet" minOccurs="0" maxOccurs="1">
             <xs:annotation>
                 <xs:documentation>Define the attributes of aliases for editorial channel.</xs:documentation>
             </xs:annotation>
         </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:element name="period" type="PeriodType" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>This period allow to specify the start and end date of the editorialChannel</xs:documentation>
          </xs:annotation>
        </xs:element>
        </xs:sequence>
        <xs:attribute name="sourcePreference" type="xs:string" use="optional" >
           <xs:annotation>
              <xs:documentation>Channel source preference</xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  
   <xs:complexType name="DvbinfoTypes">
     <xs:sequence>
       <xs:element name="triplet" type = "tripletSetType" minOccurs="0" maxOccurs="1">
         <xs:annotation>
           <xs:documentation>Support definition of Network Id within the DVB information sectiont</xs:documentation>
         </xs:annotation>
       </xs:element>
        <xs:element name="nid" type="dvbTripletsIdType" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>Support definition of Network Id within the DVB information section</xs:documentation>
         </xs:annotation>
       </xs:element>
       <xs:element name="uid" type="xs:string" minOccurs="0" maxOccurs="1">
         <xs:annotation>
           <xs:documentation>unique Id</xs:documentation>
         </xs:annotation>
       </xs:element>
     </xs:sequence>
   </xs:complexType>

  <xs:complexType name="tripletSetType">
    <xs:sequence>
      <xs:element name="onid" type="dvbTripletsIdType">
        <xs:annotation>
          <xs:documentation>Support definition of Original Network Id</xs:documentation>
        </xs:annotation> 
     </xs:element>
     <xs:element name="tsid" type="dvbTripletsIdType">
       <xs:annotation>
         <xs:documentation>Support definition of Transport Stream Id</xs:documentation>
       </xs:annotation>
     </xs:element>
      <xs:element name="sid" type="dvbTripletsIdType">
        <xs:annotation>
          <xs:documentation>Support definition of Service Id</xs:documentation>
        </xs:annotation> 
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="orderingFieldsType">
    <xs:annotation>
      <xs:documentation>set of orderingField</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="orderingField" type="xs:string" minOccurs="1" maxOccurs="unbounded">
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="preferenceSetType">
    <xs:annotation>
      <xs:documentation>set of preferences</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="preference" type="BaseResourceType" minOccurs="0" maxOccurs="unbounded">
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="cgPreferenceSetType">
    <xs:annotation>
      <xs:documentation>set of preferences</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="preference" type="ResourceReferenceType" minOccurs="0" maxOccurs="unbounded">
      </xs:element>
    </xs:sequence>
  </xs:complexType>
	<xs:complexType name="ParentalRatingSetType">
    <xs:annotation>
      <xs:documentation>Set of Parental rating is used to decide suitability for certain audiences based on its content</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="parentalRating" type="ParentalRatingType" minOccurs="1" maxOccurs="unbounded">
      </xs:element>
    </xs:sequence>
  </xs:complexType>
   <xs:complexType name="ClientControlsSet">
        <xs:annotation>
            <xs:documentation>Defines specific set of Client Controls in configuration eg: ["CU":"true","NETFLIX":"true"].</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="clientControl" type="ClientControlType" minOccurs="0" maxOccurs="unbounded">
            </xs:element>
        </xs:sequence>
    </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:element>
    </xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="NodeRefSetType">
    <xs:annotation>
      <xs:documentation>Set of node to which can be linked to EditorialContent or ContentGroup </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="nodeRef" type="BaseResourceType" minOccurs="0" maxOccurs="unbounded">
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="PersonSetType">
    <xs:annotation>
      <xs:documentation>Set of Persons and associated metadata</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="person" type="PersonType" minOccurs="1" maxOccurs="unbounded">
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="ParentalRatingType">
    <xs:annotation>
      <xs:documentation>Parental rating is used to decide suitability for certain audiences based on its content</xs:documentation>
    </xs:annotation>
      <xs:attribute name="ratingBodyName" type="xs:string" use="required">
        <xs:annotation>
          <xs:documentation>The friendly name of the ratings body. This is unique across all ratings bodies in the system</xs:documentation>
        </xs:annotation>        
      </xs:attribute>
      <xs:attribute name="contentRatingCode" type="xs:string" use="required">
        <xs:annotation>
          <xs:documentation>The content rating code. This is unique across all content ratings in the system</xs:documentation>
        </xs:annotation>        
      </xs:attribute>
       <xs:attribute name="countryCode" type="TwoCharString"  use="required">
        <xs:annotation>
          <xs:documentation>The country code.</xs:documentation>
        </xs:annotation>        
      </xs:attribute>
  </xs:complexType>
  <xs:complexType name="ClientControlType">
        <xs:annotation>
            <xs:documentation>The Client Controls type.</xs:documentation>
        </xs:annotation>
        <xs:attribute name="key" type="xs:string" use="required">
            <xs:annotation>
                <xs:documentation>Key for this metadata. it must be unique for a specific resource and for a specific locale.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="value" type="xs:boolean" use="required">
            <xs:annotation>
                <xs:documentation>Value for this metadata.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
  
  <xs:complexType name="PersonType">
    <xs:annotation>
      <xs:documentation>Defines a person element ie., the cast or crew</xs:documentation>
    </xs:annotation>
    <xs:sequence>
    <xs:element name="names" type="NamesType" minOccurs="0" maxOccurs="unbounded">
	     <xs:annotation>
	      <xs:documentation>Defines the locale specific name of the person</xs:documentation>
	    </xs:annotation>
     </xs:element>
     <xs:element name="details" type="DetailsType" minOccurs="0" maxOccurs="unbounded">
      	<xs:annotation>
	      <xs:documentation>Defines the locale specific bio data of the person</xs:documentation>
	    </xs:annotation>
     </xs:element>    
     <xs:element name="roles" type="xs:string" minOccurs="0" maxOccurs="1">
       <xs:annotation>
	      <xs:documentation>One more roles played by the person for this program, semi colon separated. For example writer, director, actor</xs:documentation>
	    </xs:annotation>
     </xs:element>
     <xs:element name="images" type="ImageSetType" minOccurs="0" maxOccurs="1">      
     </xs:element>
            
     <xs:element name="externalIds" type="ExternalIdsType" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Source information of the person</xs:documentation>
        </xs:annotation>        
      </xs:element>   
    </xs:sequence>
    <xs:attribute name="id" type="xs:string"  use="required">
        <xs:annotation>
          <xs:documentation>Unique identifier of the person</xs:documentation>
        </xs:annotation>        
      </xs:attribute>
      <xs:attribute name="dateOfBirth" type="xs:string"  use="optional">
        <xs:annotation>
          <xs:documentation>Date of birth of the person in 'YYYY-MM-DD' format</xs:documentation>
        </xs:annotation>        
      </xs:attribute>
      <xs:attribute name="type" type="xs:string"  use="required">
        <xs:annotation>
          <xs:documentation>The type of person, restricted to cast or persona</xs:documentation>
        </xs:annotation>        
      </xs:attribute>
  </xs:complexType>
    
  
  <xs:complexType name="NamesType">   
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0">
            <xs:annotation>
              <xs:documentation>locale specific name of the person</xs:documentation>
            </xs:annotation>
         </xs:element>
       </xs:sequence>
      <xs:attribute name="locale" type="xs:string" use="optional">
        <xs:annotation>
          <xs:documentation>Language-country code in which the name is written.It must be conformed to ISO-639 and ISO 3166-1.</xs:documentation>
        </xs:annotation>        
      </xs:attribute>
  </xs:complexType>
  <xs:complexType name="DetailsType">   
    <xs:sequence>
      <xs:element name="bio" type="xs:string" minOccurs="0">
            <xs:annotation>
              <xs:documentation>locale specific bio data of the person</xs:documentation>
            </xs:annotation>
         </xs:element>
       </xs:sequence>
      <xs:attribute name="locale" type="xs:string" use="optional">
        <xs:annotation>
          <xs:documentation>Language-country code in which the bio data is written.It must be conformed to ISO-639 and ISO 3166-1.</xs:documentation>
        </xs:annotation>        
      </xs:attribute>
  </xs:complexType>
  
  <xs:complexType name="CaptionsType">
    <xs:annotation>
      <xs:documentation>Element defining the locale specific title of the image </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="title" type="xs:string" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Locale specific name of the image</xs:documentation>
            </xs:annotation>
         </xs:element>
       </xs:sequence>
      <xs:attribute name="locale" type="xs:string" use="optional">
        <xs:annotation>
          <xs:documentation>Language-country code in which the caption title is written. It must conform to ISO-639 and ISO 3166-1.</xs:documentation>
        </xs:annotation>        
      </xs:attribute>
  </xs:complexType>
  
  <xs:complexType name="ExternalIdsType">    
     <xs:sequence>
		<xs:element name="externalSource" type="ExternalSourceType" minOccurs="1" maxOccurs="unbounded"/>          
     </xs:sequence>  
  </xs:complexType>
  
   <xs:complexType name="ExternalIdType">    
     <xs:sequence>
		<xs:element name="externalSource" type="ExternalSourceType" minOccurs="1" maxOccurs="1"/>          
     </xs:sequence>  
  </xs:complexType>
  
  <xs:complexType name="ExternalSourceType">   
      <xs:attribute name="sourceName" type="xs:string" use="required">
        <xs:annotation>
          <xs:documentation>Name of the external source, for example, gracenote, imdb etc., </xs:documentation>
        </xs:annotation>        
      </xs:attribute>
	  <xs:attribute name="resourceId" type="xs:string" use="required">
        <xs:annotation>
          <xs:documentation>Identifier of the resource(person or image) in the external source</xs:documentation>
        </xs:annotation>        
      </xs:attribute>	  
  </xs:complexType>
  <xs:complexType name="ImageSetType">
    <xs:annotation>
      <xs:documentation>Element that defines the set of images</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="image" type="ImageType" minOccurs="1" maxOccurs="unbounded"/>          
     </xs:sequence>    
  </xs:complexType>
  
  <xs:complexType name="ImageType">
    <xs:annotation>
      <xs:documentation>Element that defines an image and its associated properties</xs:documentation>
    </xs:annotation>
    <xs:sequence>	  
      <xs:element name="height" type="xs:integer" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>image height</xs:documentation>
        </xs:annotation>        
      </xs:element>
      <xs:element name="width" type="xs:integer" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>image width</xs:documentation>
        </xs:annotation>        
      </xs:element>
      <xs:element name="orientation" type="xs:string" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>image orientation, for example, landscape or portrait</xs:documentation>
        </xs:annotation>        
      </xs:element>     
      <xs:element name="aspect" type="xs:string" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Aspect ratio of the Image, for example, 16x9</xs:documentation>
        </xs:annotation>        
      </xs:element>
      <xs:element name="category" type="xs:string" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Category of the Image</xs:documentation>
        </xs:annotation>        
      </xs:element>
      <xs:element name="text" type="ImageTextEnumType" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates if the filter for image types is with or without text. It is a fixed value, could be either yes or no</xs:documentation>
        </xs:annotation>        
      </xs:element>
      <xs:element name="primary" type="xs:boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates if the image is primary or not</xs:documentation>
        </xs:annotation>        
      </xs:element> 
      <xs:element name="preferred" type="xs:boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates if the image is preferred or not</xs:documentation>
        </xs:annotation>        
      </xs:element>       
	  <xs:element name="captions" type="CaptionsType" minOccurs="0" maxOccurs="unbounded">
		  <xs:annotation>
			<xs:documentation>Set of locale specific image titles</xs:documentation>
		  </xs:annotation>
	  </xs:element>     
	  <xs:element name="externalId" type="ExternalIdType" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Source information of the image</xs:documentation>
        </xs:annotation>        
      </xs:element> 
      <xs:element name="locale" type="xs:string" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Language-country code in which the name is written.It must be conformed to ISO-639 and ISO 3166-1.</xs:documentation>
        </xs:annotation>        
      </xs:element>    
	  </xs:sequence>
      <xs:attribute name="id" type="xs:string" use="required">
        <xs:annotation>
          <xs:documentation>unique identifier of the image</xs:documentation>
        </xs:annotation>        
      </xs:attribute>
	    <xs:attribute name="uri" type="xs:string" use="optional">
        <xs:annotation>
          <xs:documentation>Uri of the image for download</xs:documentation>
        </xs:annotation>        
      </xs:attribute>
      <xs:attribute name="status" type="StatusEnumType" use="optional">
        <xs:annotation>
          <xs:documentation>The Status of the image, could be either active or inactive</xs:documentation>
        </xs:annotation>        
      </xs:attribute>
      <xs:attribute name="locale" type="xs:string" use="optional">
        <xs:annotation>
          <xs:documentation>Language-country code in which the name is written.It must be conformed to ISO-639 and ISO 3166-1.</xs:documentation>
        </xs:annotation>        
      </xs:attribute>
  </xs:complexType>
  
  <xs:simpleType name="TwoCharString">
    <xs:annotation>
      <xs:documentation>2-char strings only</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:length value="2"/>
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="dvbTripletsIdType">
    <xs:restriction base="xs:integer">
     <xs:minInclusive value="0"/>
     <xs:maxInclusive value="99999"/>
    </xs:restriction>
  </xs:simpleType>
  
  <xs:complexType name="TechnicalChannelType">
    <xs:complexContent>
      <xs:extension base="BaseResourceTypeWithMetadata">
        <xs:sequence>
          <xs:element name="editorialChannelRef" type="BaseResourceType">
            <xs:annotation>
              <xs:documentation>Reference to the editorial channel containing this technical channel.</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:sequence>
                <xs:element name="shortTermCatchUpParameters" minOccurs="0">
                  <xs:annotation>
                    <xs:documentation>Definition of the configuration parameters relative to the Short Term Catch-Up feature</xs:documentation>
                  </xs:annotation>
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="sourceId" type="xs:string">
                        <xs:annotation>
                          <xs:documentation>Identifier of the rolling-buffer stream providing Short Term Catch-Up access. This identifier should be unique cross technical channels delivered from the same encoder platform. Value syntax is specific to the encoder platform.</xs:documentation>
                        </xs:annotation>
                      </xs:element>
                      <xs:element name="validityStartOffset" type="xs:duration">
                        <xs:annotation>
                          <xs:documentation>Offset from any Short Term Catch-Up event end allowing to define the start validity of the corresponding Short Term Catch-Up contents (compliant to ISO 8601 standard. Ex: "P3Y6M4DT12H30M5S")</xs:documentation>
                        </xs:annotation>
                      </xs:element>
                      <xs:element name="validityDuration" type="xs:duration">
                        <xs:annotation>
                          <xs:documentation>Validity duration from any Short Term Catch-Up contents start allowing to define the end validity of the corresponding Short Term Catch-Up contents  (compliant to ISO 8601 standard. Ex: "P3Y6M4DT12H30M5S")</xs:documentation>
                        </xs:annotation>
                      </xs:element>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
                <xs:element name="longTermCatchUpParameters" minOccurs="0">
                  <xs:annotation>
                    <xs:documentation>Definition of the configuration parameters relative to the Long Term Catch-Up feature</xs:documentation>
                  </xs:annotation>
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="sourceId" type="xs:string">
                        <xs:annotation>
                          <xs:documentation>Identifier of the source stream to be recorded (id or URI). This identifier should generally be unique cross technical channels.</xs:documentation>
                        </xs:annotation>
                      </xs:element>
                      <xs:element name="validityStartOffset" type="xs:duration">
                        <xs:annotation>
                          <xs:documentation>Offset from any Long Term Catch-Up event end allowing to define the start validity of the corresponding Short Term Catch-Up contents (compliant to ISO 8601 standard. Ex: "P3Y6M4DT12H30M5S")</xs:documentation>
                        </xs:annotation>
                      </xs:element>
                      <xs:element name="validityDuration" type="xs:duration">
                        <xs:annotation>
                          <xs:documentation>Validity duration from any Long Term Catch-Up contents start allowing to define the end validity of the corresponding Short Term Catch-Up contents  (compliant to ISO 8601 standard. Ex: "P3Y6M4DT12H30M5S")</xs:documentation>
                        </xs:annotation>
                      </xs:element>
                      <xs:element name="purgeGracePeriod" type="xs:duration">
                        <xs:annotation>
                          <xs:documentation>Offset from the technical content end date used to set the minimum purge date of the record. Positive value.  (compliant to ISO 8601 standard. Ex: "P3Y6M4DT12H30M5S")</xs:documentation>
                        </xs:annotation>
                      </xs:element>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
                <xs:element name="startOverParameters" minOccurs="0">
                  <xs:annotation>
                    <xs:documentation>Definition of the configuration parameters relative to the Start Over feature</xs:documentation>
                  </xs:annotation>
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="startOverDeliveryUri" type="xs:string">
                        <xs:annotation>
                          <xs:documentation>Specify the template to build the Start Over play out delivery URL.</xs:documentation>
                        </xs:annotation>
                      </xs:element>                      
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
                <xs:element name="networkPvrParameters" minOccurs="0">
                  <xs:annotation>
                    <xs:documentation>Definition of the configuration parameters relative to nPVR feature.</xs:documentation>
                  </xs:annotation>
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="sourceId" type="xs:string">
                        <xs:annotation>
                          <xs:documentation>Identifier of the rolling-buffer stream providing nPVR access. This identifier should be unique cross technical channels delivered from the same encoder platform.Value syntax is specific to the encoder platform.</xs:documentation>
                        </xs:annotation>
                      </xs:element>
                      <xs:element name="validityDuration" type="xs:duration">
                        <xs:annotation>
                          <xs:documentation>Validity duration from any nPVR contents start allowing to define the end  validity of the corresponding nPVR contents (compliant to ISO 8601 standard. Ex: "P3Y6M4DT12H30M5S")</xs:documentation>
                        </xs:annotation>
                      </xs:element>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="networkPvrSupport" type="xs:boolean" use="optional">
                <xs:annotation>
                  <xs:documentation>Indicate if the network PVR feature is activated for this Technical channel.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
              <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 channel.</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 channel.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
              <xs:attribute name="startOverSupport" type="xs:boolean" use="optional">
                <xs:annotation>
                  <xs:documentation>Indicate if the Start Over feature is activated for this technical channel.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="dynamicRange" type="xs:string" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                  <xs:documentation>Intended to provide the dynamic range capability.</xs:documentation>
              </xs:annotation>
          </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="start" type="xs:string" use="optional">
        	<xs:annotation>
            	<xs:documentation>The start date of the Technical channel. This attribute is optional. ISO 8601 format up to the second and using the "Z" GMT time zone indicator. Example: 2012-05-31T06:10:30Z.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="end" type="xs:string" use="optional">
        	<xs:annotation>
            	<xs:documentation>The end date of the Technical channel. This attribute is optional. ISO 8601 format up to the second and using the "Z" GMT time zone indicator. Example: 2012-05-31T06:10:30Z.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="deliveryUri" type="xs:string" use="optional">
          <xs:annotation>
            <xs:documentation>Intended to provide the location of the A/V stream of the channel on the network. Used to hold the URL for adaptive streaming</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="profileId">
          <xs:annotation>
            <xs:documentation>DEPRECATED Weak reference to the id of the profile characterizing the technical channel</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        
        <xs:attribute name="profileIds" use="optional">
          <xs:annotation>
            <xs:documentation>Weak references to the ids of profiles characterizing the technical channel. This list is semicolon separated.  If "profileId" and "profileIds" both present "profileIds" will be considered, as "profileId" is going to be deprecated</xs:documentation>
          </xs:annotation>
        </xs:attribute>

          <xs:attribute name="isFreeToAir" type="xs:boolean" use="optional">
              <xs:annotation>
                  <xs:documentation>isFreeToAir of the Technical channel. This attribute is optional.These value should be true or false</xs:documentation>
              </xs:annotation>
          </xs:attribute>
          <xs:attribute name="isMandatoryContentProtection" type="xs:boolean" use="optional">
              <xs:annotation>
                  <xs:documentation>isMandatoryContentProtection of the Technical channel. This attribute is optional.These value should be true or false</xs:documentation>
              </xs:annotation>
          </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </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="images" type="ImageSetType" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Set of images for this content and associated metadata</xs:documentation>
            </xs:annotation>
         </xs:element>
          <xs:element name="persons" type="PersonSetType" minOccurs="0" maxOccurs="1"> 
            <xs:annotation>
              <xs:documentation>Set of persons for this content and associated metadata</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="clientControlsSet" type="ClientControlsSet" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>client Controls used to decide suitability for certain audiences based on its content</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="contentLinkId" type="xs:string" minOccurs="0">
	          <xs:annotation>
	            <xs:documentation>this is used to link similar editorial content from different content Provider</xs:documentation>
	          </xs:annotation>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="profileIds">
          <xs:annotation>
            <xs:documentation>Weak references to the ids of profiles characterizing the editorial content. This list is semicolon separated</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="contentType" type="ContentTypeEnumType" 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:attribute name="adInsertionProfileName" use="optional">
              <xs:annotation>
                  <xs:documentation>CMS4/ML have support for Ad Insertion profiles, providing the ability to add additional advertising metadata against content</xs:documentation>
              </xs:annotation>
          </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DeepLinkType">
		<xs:annotation>
			<xs:documentation>This element defines common attributes of all root
				elements</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="BaseResourceType">
				<xs:sequence>
					<xs:element name="contentRef"
						type="DeepLinkContentReferenceType" minOccurs="1"></xs:element>
					<xs:element name="period"
						type="PeriodWithOptionalStartEndType" minOccurs="0">
						<xs:annotation>
							<xs:documentation>This period allow to specify the start and end
								date of the Content Group</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="media" type="DeepLinkUrlType"
						minOccurs="1">
					</xs:element>
					<xs:element name="metadataSet" type="MetadataSetType"
						minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>This element defines a specific set of metadata
								for a specific locale.
								Only one MetadataSet per locale is allowed.
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="playbackParams" type="xs:string" minOccurs="0" maxOccurs="1"/>
					<xs:element name="playbackOptions"
						type="PlaybackOptionType" minOccurs="0" maxOccurs="unbounded"></xs:element>
				</xs:sequence>
				<xs:attribute name="id" type="xs:string" use="optional" />
				<xs:attribute name="name" type="xs:string" use="required">
		          <xs:annotation>
		            <xs:documentation>Working name of the resource (used usually to identify a resource in the operator UI)</xs:documentation>
		          </xs:annotation>
		        </xs:attribute>
				<xs:attribute name="profileIdSet" use="optional">
					<xs:annotation>
						<xs:documentation>Weak references to the ids of profiles
							characterizing the technical channel. This list is semicolon
							separated. If "profileId" and "profileIds" both present
							"profileIds" will be considered, as "profileId" is going to be
							deprecated</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="resolutions" use="optional">
					<xs:annotation>
						<xs:documentation></xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="isOriginal" use="optional">
					<xs:annotation>
						<xs:documentation></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="referenceAsset" type="ReferenceAssetType" minOccurs="0">
             <xs:annotation>
               <xs:documentation>The reference asset of the technical content.</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="dynamicRange" type="xs:string" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Intended to provide the dynamic range capability.</xs:documentation>
                </xs:annotation>
            </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>DEPRECATED Weak reference to the id of the profile characterizing the technical content</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="profileIds" use="optional">
          <xs:annotation>
            <xs:documentation>Weak references to the ids of profiles characterizing the technical content. This list is semicolon separated, If "profileId" and "profileIds" both present "profileIds" will be considered, as "profileId" is going to be deprecated</xs:documentation>
          </xs:annotation>
        </xs:attribute>
          <xs:attribute name="adInsertionProfileName" use="optional">
              <xs:annotation>
                  <xs:documentation>CMS4/ML have support for Ad Insertion profiles, providing the ability to add additional advertising metadata against content</xs:documentation>
              </xs:annotation>
          </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  
  <!-- Dynamic Content Group -->
	<xs:complexType name="DynamicContentGroupType">
		<xs:sequence>
			<xs:element name="dynamicParameters" type="DynamicParameterType"></xs:element>
		</xs:sequence>
		<xs:attribute name="id" use="optional" />
		<xs:attribute name="providerId" use="required" />
		<xs:attribute name="providerResourceId" use="required" />
		<xs:attribute name="name" use="required" />
		<xs:attribute name="description" use="optional" />
		<xs:attribute name="scope" use="required" />
	</xs:complexType>
	<xs:complexType name="DynamicParameterType">
		<xs:sequence>
			<xs:element name="sources" type="DynamicContentGroupSourceType" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="criteria" type="DynamicCriteriaType" nillable="false"></xs:element>
			<xs:element name="clientPageSize" type="xs:int"></xs:element>
			<xs:element name="clientResultLimit" type="xs:int"></xs:element>
			<xs:element name="sortOrder" type="SortingOrderEnumType"></xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DynamicCriteriaType">
		<xs:sequence>
			<xs:element name="queryLanguage" type="xs:string"></xs:element>
			<xs:element name="queryString" type="xs:string"></xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DynamicContentGroupSourceType">
		<xs:annotation>
			<xs:documentation>Type describing a resource type</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="BaseResourceType">
				<xs:attribute name="type" type="DynamicContentGroupSourceEnumType" use="required">
					<xs:annotation>
						<xs:documentation>Allows to specify the kind of resource that a
							content group is linked to (allowed values:
							contentGroup, node)
						</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

    <!--Dynamic ContentGroup Source Type Enum  -->
	<xs:simpleType name="DynamicContentGroupSourceEnumType">
		<xs:annotation>
			<xs:documentation>enumeration characterizing a resource type
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="node" />
			<xs:enumeration value="contentGroup" />
		</xs:restriction>
	</xs:simpleType>
	<!--DynamicParameter Sorting Order Type Enum-->
	<xs:simpleType name="SortingOrderEnumType">
		<xs:annotation>
			<xs:documentation>enumeration characterizing a resource type
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="ASC" />
			<xs:enumeration value="DESC" />
		</xs:restriction>
	</xs:simpleType>
	
   <!-- image text type enum -->
  <xs:simpleType name="ImageTextEnumType">
    <xs:annotation>
      <xs:documentation>enumeration characterizing an image text type</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="yes"/>
      <xs:enumeration value="no"/>
    </xs:restriction>
  </xs:simpleType>
  
  <!-- status type enum -->
  <xs:simpleType name="StatusEnumType">
    <xs:annotation>
      <xs:documentation>enumeration characterizing status type</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="active"/>
      <xs:enumeration value="inactive"/>
    </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:enumeration value="sports"/>
    </xs:restriction>
  </xs:simpleType>
  <!--Assets definitions -->
  <xs:simpleType name="ADLenumType">
    <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>
  <!-- Product Types -->
  <xs:simpleType name="ProductEnumType">
    <xs:annotation>
      <xs:documentation>enumeration characterizing a product type</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="subscription"/>
      <xs:enumeration value="transactional"/>
      <xs:enumeration value="capability"/>
      <xs:enumeration value="ppv"></xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <!-- Marketable Types -->
  <xs:simpleType name="MarketableEnumType">
    <xs:annotation>
      <xs:documentation>enumeration characterizing a product type</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">      
      <xs:enumeration value="node"/>      
      <xs:enumeration value="event"/>
      <xs:enumeration value="editorialChannel"/>
      <xs:enumeration value="editorialContent"/>
      <xs:enumeration value="contentGroup"/>
      <xs:enumeration value="nodeLink"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PromotableEnumType">
    <xs:annotation>
      <xs:documentation>enumeration characterizing a promotable type</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="editorialContent"/>
    </xs:restriction>
  </xs:simpleType>
  <!-- content group type enum -->
  <xs:simpleType name="ContentGroupTypeEnumType">
    <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:enumeration value="channel"/>
    </xs:restriction>
  </xs:simpleType>
  <!-- Parental rating Type -->
  <xs:simpleType name="ParentalRatingEnumType">
    <xs:annotation>
      <xs:documentation>enumeration characterizing an parental rating entity type</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="content"/>
      <xs:enumeration value="channel"/>
      <xs:enumeration value="event"/>     
    </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="ADLenumType" use="required">
      <xs:annotation>
        <xs:documentation>enumeration characterizing an asset device location</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </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="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 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="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: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="DeleteParentalRatingType">
    <xs:annotation>
      <xs:documentation>type describing a parental rating to deletion</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseResourceType">
      	<xs:attribute name="ratingBodyName" type="xs:string" use="required">
          <xs:annotation>
            <xs:documentation>The friendly name of the ratings body. This is unique across all ratings bodies in the system.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" type="ParentalRatingEnumType" use="required">
          <xs:annotation>
            <xs:documentation>It is a enum type to identify parental rating entity type (eg: content, event or channel)</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DeleteReferenceAssetType">
    <xs:annotation>
      <xs:documentation>type describing a playable asset deletion</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseResourceType">
        <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:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DeleteSupplementaryAssetType">
    <xs:annotation>
      <xs:documentation>type describing a Supplementary asset deletion</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseResourceType">
        <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:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DeleteCms4ProductLinkType">
    <xs:annotation>
      <xs:documentation>type describing a Product Link deletion</xs:documentation>
    </xs:annotation>
    <xs:attribute name="productRef" type="xs:string">
      <xs:annotation>
        <xs:documentation>The product Id for the product link to be deleted.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="nodeLinkRef" type="xs:string">
      <xs:annotation>
        <xs:documentation>The node link Id for the product link to be deleted.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  
  <xs:complexType name="NodeType">
    <xs:complexContent>
      <xs:extension base="BaseResourceTypeWithMetadata">
        <xs:sequence>
          <xs:element name="parentRef" type="BaseResourceType" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Reference to the parent node containing this node</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="position" type="xs:unsignedInt" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The Node's position among its parent's children. Two nodes can have the same position, in such case the order is not guaranteed.
Lowest values come first.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="period" type="PeriodWithOptionalStartEndType" 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="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 node.</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 node.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </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 Node items</xs:documentation>
		    </xs:annotation>
	     </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SecurityInfoType">
    <xs:annotation>
      <xs:documentation>type describing a set of data related to a security device (CAS, DRM)</xs:documentation>
    </xs:annotation>
    <xs:sequence>
     <xs:element name="cdnTokenDetails" type="CdnTokenType" minOccurs="0">
            <xs:annotation>
                    <xs:documentation>This feature is going to enable customers to enable playback for
                     contents which is protected by CDN tokens.
                    </xs:documentation>
            </xs:annotation>
			</xs:element>
      <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:sequence>
    <xs:attribute name="id" type="xs:string" use="optional">
      <xs:annotation>
        <xs:documentation>DRM or CAS id of the element for the specified security device (DRM or CAS). 
This DRM/CAS id is only valid in the context of the DRM/CAS device specified</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="securityDeviceId" use="required">
      <xs:annotation>
        <xs:documentation>Id of the security device (CAS or DRM) assigned to the content.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="sessionGroupId" type="xs:string" use="optional">
      <xs:annotation>
        <xs:documentation>Id of the session group assigned to the content.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="usageRule" type="xs:string" use="optional">
      <xs:annotation>
        <xs:documentation>This field defines the Definition of the channel.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="qmWatermark" type="xs:boolean" use="optional">
      <xs:annotation>
        <xs:documentation>The requirement here is the ability to select individual content to be watermarked.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="ProductType">
    <xs:complexContent>
      <xs:extension base="BaseResourceTypeWithMetadata">
        <xs:sequence>
          <xs:element name="period" type="PeriodWithOptionalStartEndType" minOccurs="0">
            <xs:annotation>
              <xs:documentation>This period allow to specify the start and end date of the Product</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="nominalPrice" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The nominal price of the product including a currency and an amount of money express in that currency. The nominal price is optional, but if present both currency and amount are required.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:attribute name="amount" type="xs:decimal" use="required">
                <xs:annotation>
                  <xs:documentation>The base amount of money to pay to get access to the content sold by this product.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
              <xs:attribute name="currency" type="xs:string" use="required">
                <xs:annotation>
                  <xs:documentation>The currency in which the price is defined for this product. It is a free string but it is recommended to use the ISO 4217 currency code.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="freemium" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The freemium contains the range of date during which the product can be availed for free and when availed the duration for which it can be used for free per account. The freemium should be present when isFreemium is 'true', both start and end dates and validity period are required.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
                <xs:attribute name="start" type="xs:string" use="required">
                  <xs:annotation>
                    <xs:documentation>The start of the period of time from which the product can be availed for free. This attribute is mandatory. ISO 8601 format up to the second and using the "Z" GMT time zone indicator. Example: 2012-05-31T06:10:30Z.</xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="end" type="xs:string" use="required">
                  <xs:annotation>
                    <xs:documentation>The end of the period of time till which the product can be availed for free. ISO 8601 format up to the second and using the "Z" GMT time zone indicator. Example: 2012-05-31T06:10:30Z.</xs:documentation>
                  </xs:annotation>
            </xs:attribute>
            <xs:attribute name="validityPeriod" type="xs:duration" use="required">
              <xs:annotation>
                 <xs:documentation>The free validity duration per account when freemium is availed. The format is based on ISO 8601 with restricted allowed pattern: PnY or PnM or PnW or PnD (but not a mix). Must be positive.</xs:documentation>
              </xs:annotation>
          </xs:attribute>
            </xs:complexType>
          </xs:element>        
          <xs:element name="purchasablePeriod" type="PeriodWithOptionalStartEndType" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The period of time during which the product can be purchased by the end-user. If the purchase period is not provided, the system will assume the product can be purchased without time restriction.If the purchase start is not provided, the system will assume the product can be purchased without start time restriction.If the purchase end is not provided, the system will assume the product can be purchased without end time restriction.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="rights" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The rights that could apply to consume this offer</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:attribute name="impulsive" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>If true the product can be purchased by the end-user through the client application or can be entitled by the operator. If false the product can only be entitled by the opertor. If the value is not provided, every system will assume the value as false.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
              <xs:attribute name="rentalDuration" type="xs:duration">
                <xs:annotation>
                  <xs:documentation>The amount of time during which the content sold by this product can be accessed after the start of the license (the start can be at purchase time in absolute mode or at first viewing time in relative mode). This applies only for transactional products. The format is based on ISO 8601 with restricted allowed pattern: PnDTnHnMnS. Must be positive.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
              <xs:attribute name="consumptionWindow" type="xs:duration">
                <xs:annotation>
                  <xs:documentation>The amount of time after purchase during which initial access to the content
                    sold by this product can be attempted, then the rentalDuration applies. When set this indicates
                    Relative Mode usage rule calculations should apply. The field value indicates the range within
                    which a relative Product viewing can commence. A license calculation agent determines the final
                    end time of Product viewing based on rental duration and its own configuration. When this value
                    is omitted it means absolute mode. This applies only for transactional products. The format is
                    based on ISO 8601 with restricted allowed pattern: PnDTnHnMnS. Must be positive.
                  </xs:documentation>
                </xs:annotation>
              </xs:attribute>
                <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:attribute name="storageDuration" type="xs:duration" use="optional">
                    <xs:annotation>
                        <xs:documentation>The Product can be optionally assigned a download content StorageDuration period.
                            Where set this value guides download authorization services to limit the durability of any licence
                            requested by a qualifying account.The format is based on ISO 8601 with restricted allowed pattern: PnDTnHnMnS. Must be positive.
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="storageStartPeriod" type="xs:duration" use="optional">
                    <xs:annotation>
                        <xs:documentation>The Product can be optionally assigned a download content StorageStartPeriod period.
                            Where set this value guides download authorization services to limit the period by which a download license must first be used.
                            The format is based on ISO 8601 with restricted allowed pattern: PnDTnHnMnS. Must be positive.
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="billingModel" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The billing model that applies for subscription products. This element is ignored for other types.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:attribute name="billingPeriod" use="required">
                <xs:annotation>
                  <xs:documentation>The amount of time between two billing. The format is based on ISO 8601 with restricted allowed pattern: PnY or PnM or PnD (but not a mix). Must be positive.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
           <xs:element name="capabilityProductInfo" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Stores Type and Access duration for Capability Products. This element is ignored for other types.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:attribute name="type" type="xs:string" use="required">
                <xs:annotation>
                  <xs:documentation>The type of the Capability Product. For example: CU.</xs:documentation>
                </xs:annotation>
              </xs:attribute>             
              <xs:attribute name="accessDuration" type="xs:duration" use="required">
                <xs:annotation>
                  <xs:documentation>The Access duration for the Capability Product. The format is based on ISO 8601 with restricted allowed pattern: PnY or PnM or PnW or PnD (but not a mix). Must be positive.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="deviceClass" type="xs:string" minOccurs="0" maxOccurs="unbounded">
		    <xs:annotation>
		         <xs:documentation>This device class allow the specification of products that are only available on certain devices, and additional playable only on the device where the Product backing the Content was purchase.</xs:documentation>
		    </xs:annotation>
		  </xs:element>
        </xs:sequence>
        <xs:attribute name="type" type="ProductEnumType" use="required">
          <xs:annotation>
            <xs:documentation>The type of the product. The allowed values are subscription, transactional. This attribute is mandatory when used for creation. It can't be updated.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
         <xs:attribute name="technicalTypes" type="xs:string" use="optional">
                <xs:annotation>
                  <xs:documentation>Supported Playable asset type (Technical Type) on linking product with editorial's eg:HD;SD;DASH</xs:documentation>
                </xs:annotation>
        </xs:attribute>
        <xs:attribute name="isFreemium" type="xs:boolean">
          <xs:annotation>
            <xs:documentation>Freemium boolean flag for the product. When this flag is 'true' freemium element should be present. This attribute is optional when used for creation. It can be updated.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="isShared" type="xs:boolean" default="false">
          <xs:annotation>
            <xs:documentation>Shareable is boolean flag for transactional product.which enhanced to support a mode where any Content associated with a Product can be retailed individually using the terms of a single Product definition</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="published" type="xs:boolean">
          <xs:annotation>
            <xs:documentation>This element allows the Operator to make a decision to publish (or display) respective resources to end user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DeleteTrailerLinkType">
    <xs:annotation>
      <xs:documentation>This element defines the trailer link to delete</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="trailerRef" type="BaseResourceType">
        <xs:annotation>
          <xs:documentation>Reference to the linked trailer</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="promotableRef" type="PromotableResourceType">
        <xs:annotation>
          <xs:documentation>Reference to the linked promotable</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DeleteProductLinkType">
    <xs:annotation>
      <xs:documentation>This element defines the product link to delete</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="productRef" type="BaseResourceType">
        <xs:annotation>
          <xs:documentation>Reference to the linked product</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="marketableRef" type="MarketableResourceType">
        <xs:annotation>
          <xs:documentation>Reference to the linked marketable</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AddProductLinkType">
    <xs:annotation>
      <xs:documentation>This element defines the relationship between a product and the marketable sold</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="productRef" type="BaseResourceType">
        <xs:annotation>
          <xs:documentation>Reference to the linked product</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="marketableRef" type="MarketableResourceType">
        <xs:annotation>
          <xs:documentation>Reference to the linked marketable</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="validityPeriodSet" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Set of periods during which the marketable sold by the specified product is authorised to be played.

If no validityPeriod are set, the authorisation is based on the validity period of the marketable sold by the specified product.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="validityPeriod" type="PeriodWithOptionalStartEndType" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>Period of time during which the marketable sold by the specified product is authorised to be played. </xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="metadataSet" type="MetadataSetType" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>This element defines a specific set of metadata for a specific locale.
				Only one MetadataSet per locale is allowed.</xs:documentation>
            </xs:annotation>
      </xs:element>    
    </xs:sequence>
    <xs:attribute name="published" type="xs:boolean">
      <xs:annotation>
        <xs:documentation>This element allows the Operator to make a decision to publish (or display) respective resources to end user.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="AddTrailerLinkType">
    <xs:annotation>
      <xs:documentation>This element defines the relationship between a promotable and the trailer</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="trailerRef" type="BaseResourceType">
        <xs:annotation>
          <xs:documentation>Reference to the linked trailer</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="promotableRef" type="PromotableResourceType">
        <xs:annotation>
          <xs:documentation>Reference to the linked promotable</xs:documentation>
        </xs:annotation>
      </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:complexType name="MarketableResourceType">
    <xs:annotation>
      <xs:documentation>type describing a Marketable resource type</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseResourceType">
        <xs:attribute name="type" type="MarketableEnumType" use="required">
          <xs:annotation>
            <xs:documentation>Allows to specify the kind of marketable that a product is linked to (allowed values: EditorialChannel,event,node,EditorialContent)</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PromotableResourceType">
    <xs:annotation>
      <xs:documentation>type describing a Promotable resource type</xs:documentation>
    </xs:annotation>
    <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:complexType name="ContentGroupType">
    <xs:complexContent>
      <xs:extension base="BaseResourceTypeWithMetadata">
        <xs:sequence>
          <xs:element name="period" type="PeriodWithOptionalStartEndType" minOccurs="0">
            <xs:annotation>
              <xs:documentation>This period allow 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>Reference to the parent content group</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="images" type="ImageSetType" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Set of images for this content group and associated metadata</xs:documentation>
            </xs:annotation>
         </xs:element> 
          <xs:element name="preferenceSet" type="cgPreferenceSetType" 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 CG items</xs:documentation>
		    </xs:annotation>
	     </xs:element>
	     <xs:element name="subType" type="xs:string" minOccurs="0" maxOccurs="1">
	       <xs:annotation>
		      <xs:documentation>specific categorization of content group</xs:documentation>
		    </xs:annotation>
	     </xs:element>
	     <xs:element name="contentLinkId" type="xs:string" minOccurs="0">
	          <xs:annotation>
	            <xs:documentation>this is used to link similar content group from different content Provider</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:sequence>
        <xs:attribute name="type" type="ContentGroupTypeEnumType" use="required">
          <xs:annotation>
            <xs:documentation>Enumeration allowing to differentiate content groups (allowed values: series,season,movieGroup)</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DeleteContentGroupLinkType">
    <xs:annotation>
      <xs:documentation>This element defines the relationship between a content group and the resource ref</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="contentGroupRef" type="BaseResourceType">
        <xs:annotation>
          <xs:documentation>Reference to the linked content group</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="resourceRef" type="ResourceReferenceType">
        <xs:annotation>
          <xs:documentation>Reference to the linked editorial conetent or content group</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="DeleteNodeLinkType">
    <xs:annotation>
      <xs:documentation>This element defines the relationship between a content group and the resource ref</xs:documentation>
    </xs:annotation>
    <xs:sequence minOccurs="0">
      <xs:element name="nodeRef" type="BaseResourceType">
        <xs:annotation>
          <xs:documentation>Reference to the linked content group</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="resourceRef" type="ResourceReferenceType">
        <xs:annotation>
          <xs:documentation>Reference to the linked editorial conetent or content group</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="nodeId" type="xs:string" use="optional">
      <xs:annotation>
        <xs:documentation>Id of the Node to be deleted</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  
  <!--<xs:complexType name="DeleteCms4NodeLinkType">
    <xs:annotation>
      <xs:documentation>This element defines the Node link to be deleted</xs:documentation>
    </xs:annotation>
    <xs:attribute name="nodeId" type="xs:string" use="required">
      <xs:annotation>
        <xs:documentation>Id of the Node to be deleted</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType> -->
  
  <xs:complexType name="ResourceReferenceType">
    <xs:annotation>
      <xs:documentation>type describing a resource type</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseResourceType">
        <xs:attribute name="type" type="ResourceEnumType" use="required">
          <xs:annotation>
            <xs:documentation>Allows to specify the kind of resource that a content group is linked to (allowed values: editorialContent,contentGroup)</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  
  
  <xs:simpleType name="ResourceEnumType">
    <xs:annotation>
      <xs:documentation>enumeration characterizing a resource type</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="editorialContent"/>
      <xs:enumeration value="contentGroup"/>
      <xs:enumeration value="editorialChannel"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DeepLinkContentEnumType">
    <xs:annotation>
      <xs:documentation>enumeration characterizing a resource type</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="editorialContent"/>
      <xs:enumeration value="contentGroup"/>
      <xs:enumeration value="event"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ContentGroupLinkType">
    <xs:annotation>
      <xs:documentation>This element defines the relationship between a content group and the resource ref</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <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="resourceRef" type="ResourceReferenceType">
        <xs:annotation>
          <xs:documentation>Reference to the linked editorial conetent or content group</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
    	<xs:complexType name="DeepLinkContentReferenceType">
		<xs:annotation>
			<xs:documentation>type describing a resource type</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="BaseResourceType">
				<xs:attribute name="id" type="xs:string" use="optional" />
				<xs:attribute name="type" type="DeepLinkContentEnumType"
					use="required">
					<xs:annotation>
						<xs:documentation>Allows to specify the kind of resource that a
							content group is linked to (allowed values:
							editorialContent,contentGroup and event)</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
		<xs:complexType name="DeepLinkUrlType">
		<xs:annotation>
			<xs:documentation>This element defines the relationship between a
				content group and the resource ref</xs:documentation>
		</xs:annotation>
		<xs:attribute name="type" type="xs:string" use="required" />
		<xs:attribute name="action" type="xs:string"
			use="required" />
		<xs:attribute name="url" type="xs:anyURI" use="required" />
	</xs:complexType>
	<xs:complexType name="PlaybackOptionType">
		<xs:annotation>
			<xs:documentation>This element defines the relationship between a
				content group and the resource ref</xs:documentation>
		</xs:annotation>
		<xs:attribute name="price" type="xs:decimal"
			use="required" />
		<xs:attribute name="definition" type="xs:string"
			use="required" />
		<xs:attribute name="currency" type="xs:string"
			use="required" />
		<xs:attribute name="license" type="xs:string"
			use="required" />
	</xs:complexType>
    <xs:complexType name="NodeLinkType">
   <!--  <xs:complexContent>
      <xs:extension base="BaseResourceTypeWithMetadata">-->      	
        <xs:sequence>
         <xs:element name="metadataSet" type="MetadataSetType" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>This element defines a specific set of metadata for a specific locale.
				Only one MetadataSet per locale is allowed.</xs:documentation>
            </xs:annotation>
          </xs:element>        
          <xs:element name="period" type="PeriodType" minOccurs="0">
            <xs:annotation>
              <xs:documentation>This period allow to specify the start and end date of the Node Link</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 content group (Other than series and season. This content group is not necessary existing).</xs:documentation>
        	</xs:annotation>
      	  </xs:element>
          <xs:element name="resourceRef" type="ResourceReferenceType">
            <xs:annotation>
              <xs:documentation>Reference to the linked editorial content</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="optional">
          <xs:annotation>
        	<xs:documentation>id of the content provider</xs:documentation>
      	</xs:annotation>
    	</xs:attribute>
        <xs:attribute name="publishToEndUser" type="xs:boolean" use="optional">
          <xs:annotation>
            <xs:documentation>"true" if the Node Link must be published to the end user devices, "false" otherwise</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="technicalType" type="xs:string" use="optional">
          <xs:annotation>
            <xs:documentation>Supported Playable asset type (Technical Type) eg:HD;SD;DASH</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" type="xs:string" use="optional">
          <xs:annotation>
            <xs:documentation>Title of vodItem as Name</xs:documentation>
          </xs:annotation>
        </xs:attribute>
         <xs:attribute name="previewDate" type="gmtdatetime">
      <xs:annotation>
        <xs:documentation>previewDate of nodeLink. A ISO 8601 compatible gmt datetime up to the second  : yyyy-mm-ddThh:mm:ssZ.</xs:documentation>
      </xs:annotation>
      </xs:attribute>
      <!-- </xs:extension>
    </xs:complexContent>-->
  </xs:complexType>
  <xs:complexType name="RegionalMetadataType">
    <xs:annotation>
      <xs:documentation>Contains the regional info of a Channel</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="dvbinfo" type="DvbinfoTypes" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Digital video broadcasting (DVB) is a set of standards that define digital broadcasting using DVB satellite, cable and terrestrial broadcasting infrastructures.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
      <xs:attribute name="location" type="xs:string" use="required">
        <xs:annotation>
          <xs:documentation>location where the channel is avialable</xs:documentation>
          </xs:annotation>
      </xs:attribute>
      <xs:attribute name="locationType" type="xs:string" use="required">
        <xs:annotation>
          <xs:documentation>Logical channel number used within EPG</xs:documentation>
          </xs:annotation>
      </xs:attribute>
      <xs:attribute name="channelName" type="xs:string" use="optional">
        <xs:annotation>
          <xs:documentation>Logical channel number used within EPG</xs:documentation>
          </xs:annotation>
      </xs:attribute>
      <xs:attribute name="LCN" type="xs:string" use="optional" >
        <xs:annotation>
          <xs:documentation>Logical channel number used within EPG</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="sourcePreference" type="xs:string" use="optional" >
          <xs:annotation>
              <xs:documentation>Regional source preference</xs:documentation>
           </xs:annotation>
      </xs:attribute>
  </xs:complexType>
   	<xs:complexType name="RegionalSettingSetType">
    <xs:annotation>
      <xs:documentation>regional settings of a channel</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="regionalMetadata" type="RegionalMetadataType" minOccurs="1" maxOccurs="unbounded">
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:schema>