SharePoint

​​​XML VOD Channels

Content

XML Schema Documentation to load external channels VOD-Catchup items

Namespaces declared in the specification used

Representation of schema components

Declaration of schema elements​

VodData element

Supra element

Title element

CastMember element

ContentDescriptors element

Series element

Content element

VodItem element

Period element

AudioTrack element

SubtitleTrack element

MediaSource element

AdditionalMaterial element

AdicionalMaterialRef element

Markers element

ArtWorks element

Complete XSD Schema Specification

Download XSD schema

Full XML example of episode​​​

Full XML example of title

Technical not​e

    ANNEX I (Guide)​​

ANNEX II (Valid values)

ANNEX III (Required data detail)


Change tracking

Version

Modification date

Reason for change

9.3

02/11/2023

Enlarge vodItem ids from 20 to 30 characters. Make “DuracionMedia” element optional. Add new valid values for Version element. Add annexes I.3, I.4 and I.5. Add “Image” element to VodItems. Add Id IMDB for “Supra” and “Content” elements. Add "SecondsDuration" element to "Series" element. Add full title example.

9.4

24/01/2024
Ampliar el campo media_id_origen a 250 caracteres.​

10.0

24/04/2024

Incluir las marcas de vodItems (elemento “Markers”).

10.1

06/06/2024

Delete <Image> elements. Check element cardinalities. Add a separated element for "AdicionalMaterialRef".​

10.2

27/09/2024

Add <ContentDescriptors> element.​


XML Schema Documentation to load external channels VOD-Catchup items and External Plataforms


Namespaces declared in the specification used


Representation of schema components

<xs:schema id="VodSchema" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="VodSchema">
  
<xs:complexType>
    
<xs:sequence>
      
<xs:element ref="VodData" maxOccurs="unbounded"/>
    
</xs:sequence>
  
</xs:complexType>
</xs:element>
...
</xs:schema>


Declaration of schema elements

The following sections represent each of the elements that can be included in the database schema. Each element has is a brief description of the item, with a list of relevant attributes and elements, indicating specific conditions where necessary.

After this description, the XML representation of instances is included, with a listing of all the components and attributes of the element and the data type and the limitations. In this section, the number of occurrences of each component and each attribute is specified in brackets, e.g. [0 ... 1], to indicate it is optional and at most may have an instance.

Afterwards, come the representation of the component in the XSD. This formal declaration establishing the validity criteria to verify that an XML file complies with the format.

Finally, an example XML of each item is included to show which information is expected from each component and attribute.


VodData element

Element description

This is the root element of the entire XML file with VOD-Catchup for external channels. It must appear once in the XML document and must contain information about provider's file, the creation date, the catalogue ID and the channel that will link the content, series and supracontents with, and that will allow the publication of the catalog contents to the appropriate user groups. The last attributes will allow publishing the contents of the catalogue to the appropriate user groups. We recommend to use UTC (GMT +0) date/time reference for the file creation date.

The AdditionalMaterial element is used to specify trailers, extras and video previews information. If the XML file contains only titles, just Content elements will appear (as well as all the related additional materials). When the file contains episodes, all hierarchical elements must appear: Supra (root element that groups all seasons), Series (seasons) and Content (episodes), as well as any existing related additional material.

The ArtWork element is used to detail the artwork information (such covers, episode photos ...).

XML instance representation

<VodData
creationDate="xs:dateTime [1]"
catalog
="xs:string (length <= 20) [1]"
provider
="xs:string (length <= 100) [1]"
linkedChannel
="xs:string (length <= 20) [1]">
  <AdditionalMaterial> ... </AdditionalMaterial> [0..*]

  <Supra> ... </Supra> [0..*]
  
<Series> ... </Series> [0..*]
  
<Content> ... </Content> [0..*]

  <ArtWorks> ... </ArtWorks> [0..1]
</VodData>

Component representation in the XSD schema

<xs:element name="VodData">
  
<xs:complexType>
    
<xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:element ref="AdditionalMaterial" />

      <xs:element ref="Supra" />
      
<xs:element ref="Series" />
      
<xs:element ref="Content" />

      <xs:element ref="ArtWorks" />
    </xs:choice>
    
<xs:attribute name="creationDate" type="xs:dateTime"
      use
="required"/>
    
<xs:attribute name="catalog" use="required">
      
<xs:simpleType>
        
<xs:restriction base="xs:string">
          
<xs:maxLength value="20"/>
        
</xs:restriction>
      
</xs:simpleType>
    
</xs:attribute>
    
<xs:attribute name="provider" use="required">
      
<xs:simpleType>
        
<xs:restriction base="xs:string">
          
<xs:maxLength value="100"/>
        
</xs:restriction>
      
</xs:simpleType>
    
</xs:attribute>
    
<xs:attribute name="linkedChannel" use="required">
      
<xs:simpleType>
        
<xs:restriction base="xs:string">
          
<xs:maxLength value="20"/>
        
</xs:restriction>
      
</xs:simpleType>
    
</xs:attribute>
  
</xs:complexType>
</xs:element>

Element XML Sample (titles)

<VodData
creationDate="2025-03-15T15:32:14Z"
catalog
="MOV"
provider
="Movistar+"
linkedChannel
="MVSER">

  <AdditionalMaterial> ... </AdditionalMaterial>

  <Content> ... </Content>

  <Content> ... </Content>

  <ArtWorks> ... </ArtWorks>

</VodData>

Element XML Sample (episodes)

<VodData
creationDate="2025-03-15T15:32:14Z"
catalog
="MOV"
provider
="Movistar+"
linkedChannel
="MVSER">

  <AdditionalMaterial> ... </AdditionalMaterial>

  <AdditionalMaterial> ... </AdditionalMaterial>

  <Supra> ... </Supra>

  <Series> ... </Series>
  
<Content> ... </Content>

  <Content> ... </Content>

  <Content> ... </Content>​ 


  <AdditionalMaterial> ... </AdditionalMaterial>

  <Series> ... </Series>
  
<Content> ... </Content>

  <Content> ... </Content>

  <ArtWorks> ... </ArtWorks>

</VodData>


Supra element

Element description

This element defines “supracontents”, which are series and contents groupers.

Only one attribute is included in this element: the unique identifier. It can be used to make reference to the same supracontent in successive loads. It can also be used for series or contents to refer to a supracontent in the same file. This attribute is mandatory.

The following editorial information can be included: titles, synopsis, review (Resena), description, descriptions of genre/secondary genre (first-level, second-level and third-level genre), IMDB identifier and additional material references.

ExternalId is an important attribute that will link the item, loaded in VOD with this file, with the channel's programming information. Elements ExternalId, Title, Synopsis, Resena and ContentGenre are required. The ExternalId value can match de "id" attribute.


XML instance representation

<Supra id="xs:string (length <= 30) [1]">
  
<ExternalId> xs:string (length <= 50) </ExternalId> [1]
  
<Title> ... </Title> [1..2]
  
<Synopsis>
    xs:string (length <= 254)
  
</Synopsis> [1]
  
<Resena>
    xs:string (length <= 170)

  
</Resena>[1]
  
<Description>
    xs:string (length <= 4000)

  
</Description> [0..1]
  
<ContentGenre>
    xs:string (length = 38 each, separated by “;”)
   (valid values: see Annex II.4
  
</ContentGenre> [1]
  
<ContentGenre2>
    xs:string (length <= 38 each, separated by “;”)
(valid values: see Annex II.4
  
</ContentGenre2> [0..1]
  
<ContentGenre3>
    xs:string (length <>= 38 each, separated by “;”)
(valid values: see Annex II.4
  
</ContentGenre3> [0..1]
  <AdicionaMaterialRef>...</AdicionaMaterialRef> [0..*]

  <IdImdb>
    xs:string (length 
<= 30)
  
</IdImdb>[0..1]
</Supra>

Component representation in the XSD schema

<xs:element name="Supra">
  
<xs:complexType>
    
<xs:sequence>

      <xs:element name="ExternalId​">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="50"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>

      <xs:element ref="Title" minOccurs="1" maxOccurs="2"/>
      
<xs:element name="Synopsis">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="254"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="Resena">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="170"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="Description" minOccurs="0" maxOccurs="1">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="4000"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>      

      <xs:element name="ContentGenre" type="xs:string" />
      
<xs:element name="ContentGenre2" type="xs:string" minOccurs="0" maxOccurs="1"/>
      
<xs:element name="ContentGenre3" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element ref="AdicionalMaterialRef" minOccurs="0" maxOccurs="unbounded"/>

       <xs:element ​name="IdImdb" minOccurs="0" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="30"/>
          </xs:restriction>
        </xs:simpleType>
     </xs:sequence>

    </xs:element>

    <xs:attribute name="id" use="required">
      
<xs:simpleType>
        
<xs:restriction base="xs:string">
           
<xs:maxLength value="30"/>
        </xs:restriction>
      
</xs:simpleType>
    
</xs:attribute>
  
</xs:complexType>
</xs:element>

Element XML Sample

<Supra id="804600">
  
<ExternalId>AB123456</ExternalId>
  
<Title>Antidisturbios</Title>
  
<Title locale="en_US">Antidisturbios</Title>
  
<Synopsis>
Premio Feroz a la mejor serie dramática. Seis antidisturbios ejecutan un desahucio en el centro de Madrid que se complica. Un equipo de Asuntos Internos es el encargado de investigar los hechos. 
  
</Synopsis>
  
<Resena>
Premio Feroz a la mejor serie dramática. Seis antidisturbios ejecutan un desahucio que acaba mal y un hombre acaba muriendo.
  
</Resena>
  
<Description>
Seis antidisturbios ejecutan un desahucio en el centro de Madrid que se complica y  un hombre acaba muriendo. Un equipo de Asuntos Internos será el encargado de investigar los hechos y los seis antidisturbios se enfrentan a una acusación de homicidio imprudente. El grupo de agentes busca una salida por su cuenta que acaba separándolos y, finalmente, complicando aún más la situación. Laia, una de las agentes de Asuntos Internos, se obsesiona con el caso y acaba descubriendo que, tras ese desahucio malogrado, hay mucho más.
  
</Description>
  
<ContentGenre>SR;SU</ContentGenre>
  
<ContentGenre2>SR;DR</ContentGenre2>
  
<AdicionalMaterialRef type=”E” id="80466E"/>

  <IdImdb>tt10883660</IdImdb>
</Supra>


Title element

Element description

This item allows defining titles in contents, series, supracontents and additional materials. A title can be specified at most two times: the Spanish title and the original language title. They will be registered using the attribute "locale". By default, if no other value is specified, the attribute "locale" will be "es_ES".

The "locale" attribute is composed with the language code ISO 639-1 (http://www.loc.gov/standards/iso639-2/php/English_list.php) and country code is defined in ISO 3166-1 alfa-2 (https://www.iso.org/obp/ui/#search/code/).

XML instance representation

<Title
  locale="xs:string (length<= 5) default value “es_ES" [0..1]">
  xs:string (length 
<= 100)
</Title>

Component representation in the XSD schema

<xs:element name="Title">
  
<xs:complexType>
    
<xs:simpleContent>
      
<xs:extension base="xs:string">
        
<xs:attribute name="locale" default="es_ES">
          
<xs:simpleType>
            
<xs:restriction base="xs:string">
              
<xs:maxLength value="5" />
            
</xs:restriction>
          
</xs:simpleType>
        
</xs:attribute>
      
</xs:extension>
    
</xs:simpleContent>
  
</xs:complexType>
</xs:element>

Element XML Sample

<Title>Regresión</Title>
<Title locale="en_US">Regression</Title>


CastMember element

Element description

This element provides the cast information.

Its attribute is the unique identifier, which allows referring to the same CastMember in other elements of the file, as well as in the successive loads. The "id" attribute is required.

It is mandatory to inform the participant's name and role, which must be a value from the list of role codes (see Annex II.5).

XML instance representation

<CastMember id=”xs:string (length <= 100) [1]”>
  
<Name>xs:string (length <= 100)</Name> [1]
  
<Role>xs:string (length <= 6)</Role> [1]
  (valid values: see Annex II.5
  
<Character>xs:string (length <= 100)</Character> [0..1]
  
<Image>xs:string (length <= 2000)</Image> [0..1]
  
<CharacterImage>xs:string (length <= 2000)</CharacterImage> [0..1]
</CastMember>

Component representation in the XSD schema

<xs:element name="CastMember">
  
<xs:complexType>
    
<xs:sequence>
      
<xs:element name="Name">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="100"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="Role">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="6"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="Character" minOccurs="0" maxOccurs="1">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="100"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="Image" minOccurs="0" maxOccurs="1">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="2000"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="CharacterImage" minOccurs="0" maxOccurs="1">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="2000"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
    
</xs:sequence>
    
<xs:attribute name="id" use="required">
      
<xs:simpleType>
        
<xs:restriction base="xs:string">
          
<xs:maxLength value="100"/>
        
</xs:restriction>
      
</xs:simpleType>
    
</xs:attribute>
  
</xs:complexType>
</xs:element>

Element XML Sample

<CastMember id="804665">
  
<Name>Emilia Clarke</Name>
  
<Role>ACTOR</Role>
  
<Character>Daenerys Targaryen</Character>
  
<Image>https://_Emilia_Clarke.jpg</Image>
  
<CharacterImage>https://Daenerys_Targaryen.jpg</CharacterImage>
</CastMember>


ContentDescriptors element

Element description

Specifies content descriptors (criteria for rating potentially harmful audiovisual content, such as violence, sex or discrimination) for Content elements, i.e., episodes or titles. 

Every descriptor will be detailed using a Descriptor element. The descriptors will appear in its content as they come in the XML file, any translation won’t be applied. Every descriptor comes with an order attribute, which is mandatory.

XML instance representation

<ContentDescriptors>
  <Descriptor order="xs:string (length <= 3) [1]">xs:string (length <= 100)</Descriptor> [0..*]
</ContentDescriptors>

Component representation in the XSD schema

<xs:element name="ContentDescriptors">
  <xs:complexType>

    </xs:sequence>
      <xs:element name="Descriptor" minOccurs="0" maxOccurs="unbounded">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="100"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

    </xs:sequence>

    <xs:attribute name="order" use="required">
      
<xs:simpleType>
        
<xs:restriction base="xs:string">
          
<xs:maxLength value="3"/>
        
</xs:restriction>
      
</xs:simpleType>
    
</xs:attribute>
  </xs:complexType>
</xs:element>

Element XML Sample

<ContentDescriptors>
  <Descriptor order="1">Discrimination</Descriptor>

  <Descriptor order="2">Violence</Descriptor>
</ContentDescriptors>​



Series element

Element description

This element allows defining the seasons information.

It has only an attribute, the unique identifier, which is required, to refer to the series in successive loads. Within the same file, episodes can refer to the series by using this identifier.

The following editorial information can be reported: titles, synopsis, review (Resena), description and descriptions of genre/sub-genre (first-level, second-level and third-level genre), seconds duration, season, cast members, production year, parental rating, nationality (codes according to ISO 3166-1 alpha-3 separated by ";"), average duration of all episodes of the season (in seconds), target, release frequency (PeriodicidadEstreno) and publication mode (ModoPublicacion). The 'SupraRef' element reports to what supracontent the series is associated with.

An important attribute is the value of ExternalID, which will link the item, which is loaded in VOD with this file, with the channel's programming information.

ExternalId, Title, Synopsis, Resena, ContentGenre, SecondsDuration, Rating, Countries and SupraRef values are mandatory. ExternalId value can match the “id” attribute.

XML instance representation

<Series id="xs:string (length <= 30) [1]">
  
<ExternalId> xs:string (length <= 50)</ExternalId> [1]
  
<Title> ... </Title> [1..2]
  
<Synopsis>xs:string (length <= 254)</Synopsis> [1]
  
<Resena>xs:string (length <= 170)</Resena>[1]
  
<Description>xs:string (length <= 4000)</Description> [0..1]
  
<ContentGenre>
    xs:string (length <= 38 each, separated by ";")​ 

    (valid values: see Annex II.4)
  
</ContentGenre> [1]
  
<ContentGenre2>
    xs:string (length <= 38 each, separated by ";")

    (valid values: see Annex II.4)
  
</ContentGenre2> [0..1]
  
<ContentGenre3>
    xs:string (length <= 38 each, separated by ";")

    (valid values: see Annex II.4)
  
</ContentGenre3> [0..1]

  <SecondsDuration>xs:unsignedShort (value => 1)</SecondsDuration> [1]
  
<Season>xs:string (length <= 50)</Season> [0..1]

  <CastMember> ... </CastMember> [0..*]
  
<Year>xs:unsignedShort </Year> [0..1]
  
<Rating>
    xs:string (length <= 6)
 
    (valid values: see Annex II.3)
  
</Rating> [1]
  
<Countries>
    xs:string (norma ISO 3166-1 alfa-3 separated by “;”)
  
</Countries> [1]
  
<DuracionMedia> xs:unsignedLong (value >= 1) </DuracionMedia> [0..1]
  
<Target> xs:string (length <= 10)</Target> [0..1]
      (valid values: ‘APINF04’  0-4
                     ‘APINF47’  5-7
                     ‘APINF712’ 8-12)
  
<PeriodicidadEstreno> 
    xs:string (length <= 6)

  
</PeriodicidadEstreno> [0..1]
      (valid values: ‘1’ Daily
                     ‘2’ Biweekly
                     ‘3’ Monthly
                     ‘4’ Weekly)
  
<ModoPublicacion> 
    xs:string (length <= 6)
 
  
</ModoPublicacion> [0..1]
      (valid values: ‘1’ Catchup
                     ‘2’ Season stacking
                     ‘3’ Whole seasion
                     ‘4’ Box set
       see Annex II.1 for further information).

  
<SupraRef>xs:string (length <= 30)</SupraRef> [1]
  
<AdicionalMaterialRef>...</AdicionalMaterialRef> [0..*]

</Series>

Component representation in the XSD schema

<xs:element name="Series">
  
<xs:complexType>
    
<xs:sequence>
      <xs:element name="ExternalId​">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="50"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>

      
<xs:element ref="Title" minOccurs="1" maxOccurs="2"/>
      
<xs:element name="Synopsis">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="254"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="Resena">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="170"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="Description" minOccurs="0" maxOccurs="1">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="4000"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>

      <xs:element name="ContentGenre" type="xs:string"/>
      
<xs:element name="ContentGenre2" type="xs:string" minOccurs="0" maxOccurs="1"/>
      
<xs:element name="ContentGenre3" type="xs:string" minOccurs="0" maxOccurs="1"/>

       <xs:element name="SecondsDuration" type="xs:unsignedShort"/>
      <xs:element name="Season" minOccurs="0" maxOccurs="1">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="50"/>
           
</xs:restriction>
        
</xs:simpleType>
       
</xs:element>

       <xs:element ref="CastMember" minOccurs="0" maxOccurs="unbounded"/>   

       <xs:element name="Year" type="xs:unsignedShort" minOccurs="0" maxOccurs="1"/>
       
<xs:element name="Rating">
         
<xs:simpleType>
           
<xs:restriction base="xs:string">
             
<xs:maxLength value="6"/>
           
</xs:restriction>
         
</xs:simpleType>
       
</xs:element>
       
<xs:element name="Countries" minOccurs="1" maxOccurs="1">
         
<xs:simpleType>
           
<xs:restriction base="xs:string">
             
<xs:maxLength value="2000"/>
           
</xs:restriction>
         
</xs:simpleType>
       
</xs:element>
       
xs:element name="DuracionMedia" type="xs:unsignedLong" minOccurs="0"​ maxOccurs="1"/>
       
<xs:element name="Target" minOccurs="0" maxOccurs="1">
          
<xs:simpleType>
            
<xs:restriction base="xs:string">
              
<xs:enumeration value="APINF04"/>
              
<xs:enumeration value="APINF47"/>
              
<xs:enumeration value="APINF712"/>
            
</xs:restriction>
          
</xs:simpleType>
        
</xs:element>
        
<xs:element name="PeriodicidadEstreno" minOccurs="0" maxOccurs="1">
          
<xs:simpleType>
            
<xs:restriction base="xs:string">
              
<xs:enumeration value="1"/>
              
<xs:enumeration value="2"/>
              
<xs:enumeration value="3"/>
              
<xs:enumeration value="4"/>
            
</xs:restriction>
          
</xs:simpleType>
        
</xs:element>
         
<xs:element name="ModoPublicacion" minOccurs="0" maxOccurs="1">
          
<xs:simpleType>
            
<xs:restriction base="xs:string">
              
<xs:enumeration value="1"/>
              
<xs:enumeration value="2"/>
              
<xs:enumeration value="3"/>
              
<xs:enumeration value="4"/>
            
</xs:restriction>
          
</xs:simpleType>
        
</xs:element>
        
<xs:element name="SupraRef">
          
<xs:simpleType>
            
<xs:restriction base="xs:string">
              
<xs:maxLength value="30"/>
            
</xs:restriction>
          
</xs:simpleType>
        
</xs:element>

        <xs:element ref="AdicionalMaterialRef" minOccurs="0" maxOccurs="unbounded"/>​

    </xs:sequence>

      <xs:attribute name="id" use="required">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="30"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:attribute>
    
</xs:complexType>
 </xs:element>

Element XML Sample

<Series id="804659">
  
<ExternalId>AC000111</ExternalId>
  
<Title>Antidisturbios</Title>
  
<Title lang="en_US"> Antidisturbios</Title>
  
<Synopsis>
Premio Feroz a la mejor serie dramática. Seis antidisturbios ejecutan un desahucio en el centro de Madrid que se complica. Un equipo de Asuntos  Internos es el encargado de investigar los hechos.
  
</Synopsis>
  
<Resena>
Premio Feroz a la mejor serie dramática. Seis antidisturbios ejecutan un desahucio que acaba mal y un hombre acaba muriendo.
  
</Resena>
  
<Description>
 Seis antidisturbios ejecutan un desahucio en el centro de Madrid que se complica y un hombre acaba muriendo. Un equipo de Asuntos Internos será el encargado de investigar los hechos y los seis antidisturbios se enfrentan a una acusación de homicidio imprudente. El grupo de agentes busca una salida por su cuenta que acaba separándolos y, finalmente, complicando aún más la situación. Laia, una de las agentes de Asuntos Internos, se obsesiona con el caso y acaba descubriendo que, tras ese desahucio malogrado, hay mucho más.
  
</Description>
  
<ContentGenre>SR;SU</ContentGenre>
  
<ContentGenre2>SR;DR</ContentGenre2>

  <SecondsDuration>2400</SecondsDuration​>
  <Season>2</Season>
  
<Year>2020</Year>
  
<Rating>09</Rating>
  
<Countries>ESP</Countries>
  
<DuracionMedia>3000</DuracionMedia>
  
<Target>APINF712</Target>
  
<PeriodicidadEstreno>3</PeriodicidadEstreno>
  
<ModoPublicacion>1</ModoPublicacion>
  
<SupraRef>804600</SupraRef>
  
<AdicionalMaterialRef type="T" id="80466T"/>
  
<AdicionalMaterialRef type="VP" id="80466VP"/>
  
<CastMember>...</CastMember>
  
<CastMember>...</CastMember>
</Series>


Content element

Element description

This item is used to define VOD contents.

The only one attribute is the unique identifier, used to refer to the same content on several charges. This attribute is mandatory.

Following editorial information is requested: titles, synopsis, review, description and descriptions of genre (first-level, second-level and third-level genre), content duration in seconds, and the expiry date when the content will be discarded from the VOD catalogue, the related series Id and the episode number (for episodes), cast members, content descriptors, production year, parental rating, nationality (codes according to ISO 3166-1 alpha-3 separated by ";"), tags (separated “;"), awards (separated “;"),  target, the “Document To Go" indicator, IMDB identifier, related supracontent id (when needed) and additional material references (when needed).

As in the series, the ExternalId value will link this item with the channel's programming information that is sent by other ways. With the ExternalId value, the processes can get all the additional information from the data previously saved during the load of the schedule file. This ExternalId value can match the "id" attribute value.

External Id, title, synopsis, review (Resena), main content genre, duration in seconds, rating, nationalities (Countries), expiry date and “Download To Go" indicator (D2Go) are required values. For episodes, following elements are also mandatory: SeriesRef, SupraRef y Number. These references to seasons and supracontents, must have the same value as the Supra or Series “id” attribute (see samples).

Finally, the content information includes at least one entry about the way this item is linked in the catalogue, called VodItems.


XML instance representation

<Content id="xs:string (length <= 30) [1]">
  
<ExternalId> xs:string (length <= 50)</ExternalId> [1]
  
<Title> ... </Title> [1..2]
  
<Synopsis>xs:string (length <= 254)</Synopsis> [1]
  
<Resena>xs:string (length <= 170)</Resena>[1]
  
<Description>xs:string (length <= ​4000)</Description> [0..1]
  
<ContentGenre>
    xs:string (length  <= 38 each, separated by ";") 

(valid values: see Annex II.4)
  
</ContentGenre> [1]
  
<ContentGenre2>
    xs:string (length <= 38 each, separated by ";")

(valid values: see Annex II.4)
  
</ContentGenre2> [0..1]
  
<ContentGenre3>
    xs:string (length <= 38 each, separated by ";")​ 

(valid values: see Annex II.4)
  
</ContentGenre3> [0..1]
  
<SecondsDuration> xs:unsignedShort </SecondsDuration> [1] <! value greater than 0 >
  
<ExpiryDate> xs:dateTime </ExpiryDate> [1]
  
<SeriesRef>xs:string (length <=30)</SeriesRef> [0..1] <! Mandatory for episodes >
  
<Number> xs:unsignedShort </Number> [0..1] <! Mandatory for episodes >
  
<Year> xs:unsignedShort </Year> [0..1]
  
<Rating>
    xs:string (length <= 6)

    (valid values: see Annex II.3)
  
</Rating> [1]
  
<Countries>
    xs:string (norma ISO 3166-1 alfa-3 separated by “;”)
  
</Countries> [1]
  
<Tags>xs:string (separated by “;”)</Tags> [0..1]
  
<Awards>xs:string (separated by “;”)</Awards> [0..1]
  
<D2Go> xs:string (length = 1) </D2Go> [1]
      (valid values: ‘S’ Yes
                     ‘N’ No)

  
<SupraRef>xs:string (length <= 30) </SupraRef> [0..1] <! Mandatory for episodes >

  <AdicionalMaterialRef>...</AdicionalMaterialRef> [0..*]

  ​<IdImdb>xs:string (length <=30)</IdImdb> [0..1]

  <VodItem> ... </VodItem> [1..*]
  
<CastMember> ... </CastMember> [0..*]

  <ContentDescriptors> ... </ContentDescriptors> [0..1]
</Content>

Component representation in the XSD schema

<xs:element name="Content">
  
<xs:complexType>
    
<xs:sequence>
      <xs:element name="ExternalId​">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="50"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>

      
<xs:element ref="Title" minOccurs="1" maxOccurs="2"/>
      
<xs:element name="Synopsis">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="254"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="Resena">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="170"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="Description" minOccurs="0" maxOccurs="1">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="4000"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>

      <xs:element name="ContentGenre" type="xs:string" />
      
<xs:element name="ContentGenre2" type="xs:string" minOccurs="0" maxOccurs="1"/>
      
<xs:element name="ContentGenre3" type="xs:string" minOccurs="0" maxOccurs="1"/>
      
<xs:element name="SecondsDuration" type="xs:unsignedShort"/>
      
<xs:element name="ExpiryDate" type="xs:dateTime"/>
      
<xs:element name="SeriesRef" minOccurs="0" maxOccurs="1">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="100"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="Number" type="xs:unsignedShort" minOccurs="0" maxOccurs="1"/>
      
<xs:element name="Year" type="xs:unsignedShort" minOccurs="0" maxOccurs="1"/>
      
<xs:element name="Rating">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="6"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="Countries" minOccurs="1" maxOccurs="1">
       
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="2000"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="Tags" minOccurs="0" maxOccurs="unbounded">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="2000"/>
          
</xs:restriction>
         
</xs:simpleType>
      
</xs:element>
      
<xs:element name="Awards" minOccurs="0" maxOccurs="unbounded">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="2000"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="D2Go">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:enumeration value="S"/>
            
<xs:enumeration value="N"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="SupraRef" minOccurs="0" maxOccurs="1">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="30"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>

      <xs:element ref="AdicionalMaterialRef" minOccurs="0" maxOccurs="unbounded"/>​

      <xs:element name="IdImdb" minOccurs="0" maxOccurs="1">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="30"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element ref="VodItem" minOccurs="1" maxOccurs="unbounded"/>
      
<xs:element ref="CastMember" minOccurs="0" maxOccurs="unbounded"/>

      <xs:element ref="ContentDescriptors" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>  

  <xs:attribute name="id" use="required">
      
<xs:simpleType>
        
<xs:restriction base="xs:string">
          
<xs:maxLength value="30"/>
        
</xs:restriction>
      
</xs:simpleType>
    
</xs:attribute>
  
</xs:complexType>
</xs:element>

Element XML Sample (episode)

<Content id="804665">
  
<ExternalId>AV121200</ExternalId>
  
<Title>Osorio</Title>
  
<Title locale="en_US">Osorio</Title>
  
<Synopsis>
 Un furgón de seis antidisturbios acude a realizar un desahucio en el centro de Madrid. Es agosto y lo hacen sin apoyo de efectivos. El desahucio es difícil y, cuando creen que todo está controlado, el más joven toma una mala decisión.
  
</Synopsis>
  
<Resena>
 Un furgón de seis antidisturbios acude a realizar un desahucio difícil. Cuando creen que todo está controlado, alguien toma una mala decisión.

  </Resena>
  
<Description>
 Un furgón de seis antidisturbios es enviado a realizar un desahucio en el centro de Madrid. Normalmente acuden dos o tres equipos, pero es agosto, hay pocos efectivos y deben ir solos. El desahucio es difícil y duro, pero justo cuando creen que todo está controlado, el más violento y joven de los seis toma una mala decisión que hace que todo estalle y un inmigrante senegalés cae de una altura de dos pisos, muriendo a las pocas horas. Los seis policías creen que son inocentes y que sus jefes los van a apoyar, pero en la otra punta de la ciudad, un equipo de Asuntos Internos empieza una investigación. La agente Laia Urquijo, la única mujer del equipo, intuye que está ante un caso importante y se va a dejar la piel en él.

  </Description>
  
<ContentGenre>SR;SU</ContentGenre>
  
<ContentGenre2>SR;DR</ContentGenre2>
  
<SecondsDuration>3000</SecondsDuration>
  
<ExpiryDate>2021-12-31T00:00:00Z</ExpiryDate>
  
<SeriesRef>804659</SeriesRef>
  
<Number>2</Number>
  
<Year>2020</Year>
  
<Rating>09</Rating>
  
<Countries>ESP</Countries>
  
<Tags>Thriller; Emmy;Series completas</Tags>
  
<Awards>Premios del sindicato de guionistas – Mejor serie dramática</Awards>
  
<D2Go>S</D2Go>
  
<SupraRef>804600</SupraRef>
  
<AdicionalMaterialRef type=”T” id="80466T"/>
  
<AdicionalMaterialRef type=”VP” id="80466VP"/>
  
<AdicionalMaterialRef type=”E” id="80466E"/>

  <IdImdb>602158</IdImdb>
  <VodItem>...</VodItem>
  
<VodItem>...</VodItem>
  
<CastMember>...</CastMember>
  
<CastMember>...</CastMember>
  
<CastMember>...</CastMember>

  <ContentDescriptors>...</ContentDescriptors>
</Content>


Element XML Sample (title)

<Content id="00040936">
  <ExternalId>MVEST-00040936</ExternalId>
  <Title>Regresión</Title>
  <Title locale="en_US">Regression</Title>  

  <Synopsis>

  Minnesota, 1990. El detective Bruce Kenner investiga el caso de Angela, una joven que acusa a su padre, John Gray, de abusos sexuales.

  </Synopsis>
  
<Resena>
  Minnesota, 1990. El detective Bruce Kenner investiga el caso de Angela, una joven que acusa a su padre, John Gray, de abusos sexuales.

  </Resena>
  
<Description

  Minnesota, 1990. El detective Bruce Kenner investiga el caso de Angela, una joven que acusa a su padre, John Gray, de abusos sexuales. 

  Aunque no recuerda nada de lo sucedido, John, de forma inesperada, admite su culpa. Es entonces cuando el reconocido psicólogo Dr. Raines se    incorpora al caso para ayudarle a revivir sus recuerdos reprimidos.
  Ethan Hawke y Emma Watson protagonizan "Regresión", 'thriller'psicológico, con dosis de cine policiaco y de terror, escrito y dirigido por el    español Alejandro Amenábar. Como cuenta el propio Amenábar, "el término 'regresión' significa, entre otras cosas, volver atrás. Este proyecto    supone para mí revisitar el misterio, reencontrarme con el género que marcó el inicio de mi carrera con "Tesis", una película donde exploraba    el poder casi hipnótico que a veces ejerce sobre nosotros la contemplación del horror; siguió com "Abre los ojos", una mirada alucinada y       enfebrecida en la que convivían sueño y realidad; y culminó con "Los otros", un intento de recuperar el sabor de los viejos clásicos del     suspense.

  </Description>

  <ContentGenre>CN;SU</ContentGenre>
  
<ContentGenre2>CN;DR</ContentGenre2>
  
<SecondsDuration>5938</SecondsDuration>
  
<ExpiryDate>2025-12-31T00:00:00Z</ExpiryDate>
  
<Year>2015</Year>
  
<Rating>08</Rating>
  
<Countries>ESP;USA</Countries>
  
<Tags>Thriller</Tags>
  
<D2Go>N</D2Go>
  
<AdicionalMaterialRef type=”T” id="80466T">
  
<AdicionalMaterialRef type=”VP” id="80466VP">
  
<AdicionalMaterialRef type=”E” id="80466E">

​  <IdImdb>tt3319920</IdImdb>

  <VodItem>...</VodItem>
  
<VodItem>...</VodItem>
  
<CastMember>...</CastMember>
  
<CastMember>...</CastMember>

  <ContentDescriptors>...</ContentDescriptors>
</Content>



VodItem element

Element description

This item defines a VodItem information, which refers to a file that is available in VOD-Catchup.
The first attribute included within the VodItem is the unique identifier to refer to it in successive loads. This attribute is required.
The following technical information can be reported: the version of the file (only valid values), the video format (only valid values), periods of publication, emission rights type (TipoDerecho element, see Annex II.2), audio tracks, subtitle tracks, media source and markers information. The required elements are Period, TipoDerecho, AudioTrack, SubtitleTrack (if available) and MediaSource.
The periods of publication, the emission rights type (TipoDerecho), audio tracks, subtitle tracks and markers information of each VodItem should always be full included because the load operation will remove all these items before they are loaded again.

XML instance representation

<VodItem id="xs:string (length <= 30) [1]">
  
<Version> xs:string (valid values:
        'VE'
        'DUAL'
        'DUAL TXT'
        'DUAL TXT+SRD'
        'VE SRD'
        'VO'

        'ADDUAL-TXT'
        'ADDUAL-TXT+SRD'
        'DUAL TXT(x2)')
  
</Version> [0..1]
  
<VideoFormat> xs:string (valid values:
        '4:3 Fullscreen'
        '4:3 Letterbox'
        '16:9 Fullscreen'
        '16:9 Safearea'
        'HD Fullscreen'
        'HD Safearea'
        'UHD SDR'

        'UHD HDR')
  
</VideoFormat> [0..1]
  
<Period> ... </Period> [1..*]
  
<TipoDerecho>xs:string</TipoDerecho>
   (Valid Values:
   'PAYTV/CATCHUP'
   'SVOD'
   'SVOD;PAYTV/CATCHUP'

   'PAYTV/CATCHUP;SVOD'.
      see Annex II.2 for more details.) [1]
  
<AudioTrack> ... </AudioTrack> [1..*]
  
<SubtitleTrack> ... </SubtitleTrack> [0..*]
  
<MediaSource> ... </MediaSource> [1]

  <Markers> ... </Markers> [0..1]
</VodItem>

Component representation in the XSD schema

<xs:element name="VodItem">
  
<xs:complexType>
    
<xs:sequence>
      
<xs:element name="Version" minOccurs="0" maxOccurs="1">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:enumeration value="VE"/>
            
<xs:enumeration value="DUAL"/>
            
<xs:enumeration value="DUAL TXT"/>
            
<xs:enumeration value="DUAL TXT+SRD"/>
            
<xs:enumeration value="VE SRD"/>
            
<xs:enumeration value="VO"/>

            <xs:enumeration value="ADDUAL-TXT"/>
            
<xs:enumeration value="ADDUAL-TXT+SRD"/>
            
<xs:enumeration value="DUAL TXT(X2)"/>
          </xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="VideoFormat" minOccurs="0" maxOccurs="1">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:enumeration value="4:3 Fullscreen"/>
            
<xs:enumeration value="4:3 Letterbox"/>
            
<xs:enumeration value="16:9 Fullscreen"/>
            
<xs:enumeration value="16:9 Safearea"/>
            
<xs:enumeration value="HD Fullscreen"/>
            
<xs:enumeration value="HD Safearea"/>
            
<xs:enumeration value="UHD SDR"/>

            <xs:enumeration value="UHD HDR"/>
          </xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element ref="Period"/>
      
<xs:element name="TipoDerecho" default="PAYTV/CATCHUP">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:enumeration value="PAYTV/CATCHUP"/>
            
<xs:enumeration value="SVOD"/>
            
<xs:enumeration value="PAYTV/CATCHUP;SVOD"/>

            <xs:enumeration value="SVOD;PAYTV/CATCHUP"/>
          </xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element ref="AudioTrack" minOccurs="1" maxOccurs="unbounded"/>
      
<xs:element ref="SubtitleTrack" minOccurs="0" maxOccurs="unbounded"/>

      <xs:element ref="MediaSource"/>

      <xs:element ref="Markers" minOccurs="0" maxOccurs="1"/>   
    
</xs:sequence>
    
<xs:attribute name="id" use="required">
      
<xs:simpleType>
        
<xs:restriction base="xs:string">
          
<xs:maxLength value="30"/>
        
</xs:restriction>
      
</xs:simpleType>
    
</xs:attribute>
  
</xs:complexType>
</xs:element>

Element XML Sample

<VodItem id="804665-SD">
  
<Version>DUAL TXT</Version>
  
<VideoFormat>16:9 Fullscreen</VideoFormat>
  
<Period start="2024-03-14T13:00:00Z" end="2024-06-30T00:00:00Z"/>
  
<Period start="2024-10-25T19:00:00Z" end="2025-12-31T00:00:00Z"/>
  
<TipoDerecho>SVOD</TipoDerecho>
  
<AudioTrack order="1" language="spa" audioType="Stereo"/>
  
<AudioTrack order="2" language="eng" audioType=”Stereo"/>
  
<SubtitleTrack order="1" language=​"spa"/>

  <MediaSource> ... </MediaSource>

  <Markers> ... </Markers>

</VodItem>
<VodItem id="804665-HD">
  
<Version>DUAL TXT</Version>
  
<VideoFormat>HD Fullscreen</VideoFormat>
  
<Period start="2024-03-14T13:00:00Z" end="2024-06-30T00:00:00Z"/>
  
<Period start="2024-10-25T19:00:00Z" end="2025-12-31T00:00:00Z"/>
  
<TipoDerecho>SVOD</TipoDerecho>
  
<AudioTrack order="1" language="spa" audioType="Dolby E/5.1+2" />
  
<AudioTrack order="2" language="eng" audioType="Dolby E/5.1+2" />
  
<SubtitleTrack order="1" language="spa" />

  <MediaSource> ... </MediaSource>

  <Markers> ... </Markers​>

</VodItem>
<VodItem id="804665-UHD">
  
<Version>DUAL TXT</Version>
  
<VideoFormat>UHD SDR</VideoFormat>
  
<Period start="2024-03-14T13:00:00Z" end="2024-06-30T00:00:00Z"/>
  
<Period start="2024-10-25T19:00:00Z" end="2025-12-31T00:00:00Z"/>
  
<TipoDerecho>SVOD</TipoDerecho>
  
<AudioTrack order="1" language="spa" audioType="Dolby E/5.1+2" />
  
<AudioTrack order="2" language="eng" audioType="Dolby E/5.1+2" />
  
<SubtitleTrack order="1" language="spa" />

  <MediaSource> ... </MediaSource>

  <Markers> ... </Markers​>

</VodItem>


Period element

Element description

This item defines the date interval when the content will be available in the catalogue.
There are two required attributes to report the dates of beginning and end of the VOD catalogue. The coming soon date is an optional attribute, it must be before the start date​.
It is recommended using UTC date/time reference (GMT+0).

XML instance representation

<Period start="xs:dateTime [1]" end="xs:dateTime [1]" comingSoon="xs:dateTime [0..1]" />

Component representation in the XSD schema

<xs:element name="Period">
  <xs:complexType>
    <xs:attribute name="start" type="xs:dateTime" use="required"/>
    <xs:attribute name="end" type="xs:dateTime" use="required"/>

    <xs:attribute name="comingSoon" type="xs:dateTime"/>
  </xs:complexType>
</xs:element>

Element XML Sample

<Period start="2025-05-17 T16:00:00Z" end="2025-05-27 T17:00:00Z"/>

<Period start="2025-09-01 T16:00:00Z" end="2025-09-30 T17:00:00Z" comingSoon="2025-08-15 T17:00:00Z"/>


AudioTrack element

Element description

This item is used to inform the audio tracks in VodItem and media source video files.

The following information can be included: order, audio type (only allowed values) and language (ISO 639-2, http://www.loc.gov/standards/iso639-2/php/English_list.php). Order and audio type are mandatory attributes.

XML instance representation

<AudioTrack
order
="xs:unsignedShort [1]"
audioType
="xs:string [1] (valid values:        
         'Mono',

         'Stereo',        
         'Dolby E/5.1+2',

         'Dolby Atmos')"
language
="xs:string (norma ISO-639-2) [0..1]"/>

Component representation in the XSD schema

<xs:element name="AudioTrack">
  
<xs:complexType>
    
<xs:attribute name="order" type="xs:unsignedShort" use="required"/>
    
<xs:attribute name="audioType" use="required">
      
<xs:simpleType>
        
<xs:restriction base="xs:string">         
          
<xs:enumeration value="Mono​"/>         

          <xs:enumeration value="Stereo"/> 
          
<xs:enumeration value="Dolby E/5.1+2"/>

          <xs:enumeration value="Dolby Atmos"/>

        </xs:restriction>
      
</xs:simpleType>
    
</xs:attribute>
    
<xs:attribute name="language">
      
<xs:simpleType>
        
<xs:restriction base="xs:string">
          
<xs:maxLength value="3"/>
        
</xs:restriction>
      
</xs:simpleType>
    
</xs:attribute>
  
</xs:complexType>
</xs:element>

Element XML Sample

<AudioTrack order="1" type="Stereo" language="spa" />
<AudioTrack order="2" type="Dolby E/5.1+2​" language="eng" />

<AudioTrack order="3" type="Stereo" language="ADS" />


SubtitleTrack element

Element description

This item defines each subtitle track in VodItem and media source video files.

The following information can be reported: order, language (ISO 639-2, http://www.loc.gov/standards/iso639-2/php/English_list.php), an attribute to report if the subtitle is for people with hearing disability or not and an attribute for the file name. Only the order attribute is required.

XML instance representation

<SubtitleTrack
order​​
="xs:unsignedShort [1]"
language
="xs:string (norma ISO-639-2) [0..1]"
hearingImpaired
="xs:boolean default value ‘false’ [0..1]"

fileName="xs:string (length<=250) [0..1]"/>

Component representation in the XSD schema

<xs:element name="SubtitleTrack">
  
<xs:complexType>
    
<xs:attribute name="order" type="xs:unsignedShort"
      use
="required"/>
    
<xs:attribute name="language">
      
<xs:simpleType>
        
<xs:restriction base="xs:string">
          
<xs:maxLength value="3"/>
        
</xs:restriction>
      
</xs:simpleType>
    
</xs:attribute>
    
<xs:attribute name="hearingImpaired" type="xs:boolean"
      default
="false"/>

    <xs:attribute name="fileName">
      
<xs:simpleType>
        
<xs:restriction base="xs:string">
          
<xs:maxLength value="250"/>
        
</xs:restriction>
      
</xs:simpleType>
    
</xs:attribute>
  </xs:complexType>
</xs:element>

Element XML Sample

<SubtitleTrack order="1" language="spa" />
<SubtitleTrack order="2" language="eng" fileName="S2_EP​1_HDSID.stl" />

<SubtitleTrack order="3" language="spa" hearingImpaired="true"/>​


MediaSource element

Element description

This item defines the data from the source. With it, a video file can be generated in order to publish its information in VOD-Catchup.

The following information can be reported: the media source identifier, the position where the video starts (in frames), the video length (in frames), version (one of the valid values), the video format (one of the valid values), audio tracks and subtitle tracks. The required elements are MediaId, TCIn, FrameDuration, AudioTrack and, if subtitles are available, SubtitleTrack.

Audio tracks and subtitle tracks specified in MediaSource should always be fully included, because the load operation will remove all these items before being loaded again.

Each VodItem element represents a different VoD video file. Therefore, different values ​​for the MediaID must also be set for each quality, because they correspond to ​different video files.​

​If the video files are replaced, it will be necessary to generate a new XML with a different MediaID to ensure their replacement by our system. Otherwise, it is not guaranteed that the file will be reprocessed.

Examples MediaID_1, MediaID_2, etc.

XML instance representation

<MediaSource>
  
<MediaId>
    xs:string (length 
<= 50; see restrictions by catalog and ‘UHD’ video format)
  
</MediaId> [1]
  
<TCIn> xs:unsignedLong (value in frames (25 fps))</TCIn> [1]
  
<FrameDuration> xs:unsignedLong (inframes)</FrameDuration> [1] <! value greater than 0 >
  
<Version> xs:string (valid values:
        'VE'
        'DUAL'
        'DUAL TXT'
        'DUAL TXT+SRD'
        'VE SRD'
        'VO'

        'ADDUAL-TXT'
        'ADDUAL-TXT+SRD'
        'DUAL TXT(X2)')
  
</Version> [0..1]
  
<VideoFormat> xs:string (valid values:
        '4:3 Fullscreen'
        '4:3 Letterbox'
        '16:9 Fullscreen'
        '16:9 Safearea'
        'HD Fullscreen'
        'HD Safearea'
        'UHD SDR'

        'UHD HDR')
  
</VideoFormat> [0..1]
  
<AudioTrack> ... </AudioTrack> [1..*]
  
<SubtitleTrack> ... </SubtitleTrack> [0..*]
</MediaSource>

Component representation in the XSD schema

<xs:element name="MediaSource">
  
<xs:complexType>
    
<xs:sequence>
      
<xs:element name="MediaId">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="50"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="TCIn" type="xs:unsignedLong"/>
      
<xs:element name="FrameDuration" type="xs:unsignedLong"/>
      
<xs:element name="Version" minOccurs="0" maxOccurs="1">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:enumeration value="VE"/>
            
<xs:enumeration value="DUAL"/>
            
<xs:enumeration value="DUAL TXT"/>
            
<xs:enumeration value="DUAL TXT+SRD"/>
            
<xs:enumeration value="VE SRD"/>
            
<xs:enumeration value="VO"/>

            <xs:enumeration value="ADDUAL-TXT"/>
            
<xs:enumeration value="ADDUAL-TXT+SRD"/>
            
<xs:enumeration value="DUAL TXT(X2)"/>
          </xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="VideoFormat" minOccurs="0" maxOccurs="1">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:enumeration value="4:3 Fullscreen"/>
            
<xs:enumeration value="4:3 Letterbox"/>
            
<xs:enumeration value="16:9 Fullscreen"/>
            
<xs:enumeration value="16:9 Safearea"/>
            
<xs:enumeration value="HD Fullscreen"/>
            
<xs:enumeration value="HD Safearea"/>
            
<xs:enumeration value="UHD SDR"/>

            <xs:enumeration value="UHD H​DR"/>
          </xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element ref="AudioTrack" minOccurs="1" maxOccurs="unbounded"/>
      
<xs:element ref="SubtitleTrack" minOccurs="0" maxOccurs="unbounded"/>
    
</xs:sequence>
  
</xs:complexType>
</xs:element>

Element XML Sample

<MediaSource>
  
<Mediaid>AP8046653</Mediaid>
  
<TCIn>0</TCIn>
  
<FrameDuration>40616</FrameDuration>
  
<Version>ADDUAL-TXT</Version>
  
<VideoFormat>HD Fullscreen</VideoFormat>
  
<AudioTrack order="1" language="spa" audioType="Stereo" />
  
<AudioTrack order="2" language="eng" audioType="Dolby Atmos​​" />

  <AudioTrack order="3" language="ADS" audioType="Stereo" />
  <SubtitleTrack order="1" language="spa" hearingImpaired="false"/>
</MediaSource>


AdditionalMaterial element

Element description​

Element to specify additional material associated with series, supracontents and contents​.
The "id" attribute included in this element is an unique identifier used to refer to the same additional content in successive uploads and within the same file (to associate it with its corresponding content). This is a mandatory data.
The external identifier of the media, the title (or titles, if available in English and in the original language), as well as the duration in seconds are requested elements. An important attribute is the value of the ExternalId, which will allow the additional content sent by other media to be related to the VOD upload made through this file.
Finally, there are every entry that can be displayed in the catalogue, called VodItems

XML instance representation

<AdditionalMaterial id="xs:string (length <= 30) [1]">
  
<ExternalId> xs:string (length <= 50) </ExternalId> [1]
  
<Type>xs:string (length <= 2)</Type> [1]
    (valid values: 'T' Trailer
                   'E' Extra
                   'VP' Video preview)
  
<Title>xs:string (length <= 100)</Title> [1..2]
  
<SecondsDuration> ... </SecondsDuration> [1] <! value greater than 0 >
  
<VodItem> ... </VodItem> [1..*] 
</AdditionalMaterial>

Component representation in the XSD schema

<xs:element name="AdditionalMaterial">
  
<xs:complexType>
    
<xs:sequence>
      
<xs:element name="Type">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:enumeration value="T"/>
            
<xs:enumeration value="E"/>
            
<xs:enumeration value="VP"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="ExternalId" type="xs:string"/>
      
<xs:element name="Title" minOccurs="1" maxOccurs="2">
        
<xs:simpleType>
          
<xs:restriction base="xs:string">
            
<xs:maxLength value="50"/>
          
</xs:restriction>
        
</xs:simpleType>
      
</xs:element>
      
<xs:element name="SecondsDuration" type="xs:unsignedShort" />
      <xs:element ref="VodItem" minOccurs="1" maxOccurs="unbounded"/>    
    </xs:sequence>
    
<xs:attribute name="id" use="required">
      
<xs:simpleType>
        
<xs:restriction base="xs:string">
          
<xs:maxLength value="30"/>
        
</xs:restriction>
      
</xs:simpleType>
    
</xs:attribute>
  
</xs:complexType>
</xs:element>

Element XML Sample

<AdditionalMaterial id="45654E”>
  <ExternalId>PerdidosExtra</ExternalId>

  <Type>E</Type>
  
<Title>Perdidos (Extra)</Title>
  
<SecondsDuration>120</SecondsDuration>
  
<VodItem> ... </VodItem>
</AdditionalMaterial>

<AdditionalMaterial id="45654P”>
  <ExternalId>PerdidosPreview</ExternalId​>

  <Type>VP</Type>
  <Title>Perdidos (Video Preview)</Title>
  <SecondsDuration>120</SecondsDuration>
  <VodItem> ... </VodItem>
</AdditionalMaterial>

AdicionalMaterialRef Element

Element description

This element adds a reference of an additional material with its content, series or supracontent. The additional material must be detailed within the same XML file.  There are two mandatory attributes: type and id. For further information about valid values, see the ​Technical Note.

XML instance representation

<AdicionalMaterialRef 

 type="xs:string (length <= 2) [1]"

 (valid values:’T’   Trailer

               ’VP’  Video Preview

               'E'   Extra) 

 id="xs:string (length <= 30)" [1]>

</AdicionalMaterialRef>

Component representation in the XSD schema

  <xs:element name="AdicionalMaterialRef" minOccurs="0" maxOccurs="unbounded">

  <xs:attribute name="type" use="required">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:maxLength value="2"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:attribute>

  <xs:attribute name="id" use="required">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:maxLength value="30"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:attribute>

</xs:element>​

Element XML Sample

<AdicionalMaterialRef type=”E” id="80466E"/>
<AdicionalMaterialRef type=”VP” id="80466VP"/>


Markers element

This XML element specifies information about VodItem markers (significant parts of a video such the header or a final scene​)​. For each one, the type and TCIn must be specified (mandatory), expressed as a sum of frames. The marker type must be equivalent to a NUBE marker types (see valid values at Annex II.6).

XML instance representation

<Markers>

  <Marker type="xs:string (length <= 30) [1]"
          tc="xs:unsignedLong (in frames (25fps)) [1]"> [0..*]
</Markers>

Component representation in the XSD schema

<xs:element name="Markers">
  <xs:complexType>

    <xs:sequence>
      <xs:element name="Marker" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>

          <xs:attribute name="type" use="required">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:maxLength value="10"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>

          <xs:attribute name="tc" type="unsignedLong" use="required"/>
        </xs:complexType>

      </xs:element>

    </xs:sequence>
  </xs:complexType>
</xs:element>

Element XML Sample

<Markers>
  <Marker tc="2506” type="CON”/>

  <Marker tc="3802” type="CRE”/>

  <Marker tc="876” type="CAB”/>

</Markers>


ArtWorks element

This XML element provides the information about the images associated with series, titles and episodes. For each image, the type (from among the allowed values), the resource locator and the reference to the element to which it is associated must be specified (it must match the Content or Series id attribute).

There are two ways to specify the locator: either through the filename attribute or through the url attribute, that is, they are exclusive. If the locator is specified using the filename attribute, the name of the image must be indicated as explained in ANNEX I (Guide).

XML instance representation

​<ArtWorks>

 <ArtWork type="xs:string (length <= 1) [1]"

 (valores válidos:’H’   Horizontal

                  ’P’   Vertical

                  'M'   FanArt Móvil

                  'F'   FanArt)

  fileName="xs:string (length <= 250​)​"

  url="xs:string (length ​<= 2000)"

  contentRef="xs:string (length <= 30) [1]" > [0..*]

</ArtWorks>​

Component representation in the XSD schema

<xs:element name="ArtWorks"​>

  <xs:complexType>

    <xs:sequence>
      <xs:element name="ArtWork" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>

          <xs:attribute name="type" use="required">
            <xs:simpleType>
              <xs:restriction base="xs:string">

                <xs:enumeration value="H"/>

                <xs:enumeration value="P"/>

                <xs:enumeration value="M"/>

                <xs:enumeration value="F"/>

              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>

          <xs:attribute name="fileName">

            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:maxLength value="250"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>​

          <xs:attribute name="url">

            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:maxLength value="2000"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>

          <xs:attribute name="contentRef" use="required">

            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:maxLength value="30"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>

        </xs:complexType>

      </xs:element>

    </xs:sequence>
  </xs:complexType>

</xs:element>

Element XML Sample (using fileName attribute)

<Content id="A80466256">

   ...

</Content>

...

<ArtWorks>

   <ArtWork type="H" fileName="A80466256$$H" contentRef="A80466256" />
   <ArtWork type="P" fileName="A80466256$$P" contentRef="A80466256" />

   <ArtWork type="M" fileName="A80466256$$M" contentRef="A80466256" />
   <ArtWork type="F" fileName="A80466256$$F" contentRef="A80466256" />

</ArtWorks>

Element XML Sample​ (using url attribute)

<Series id="A80466259​">

   ...

</Series>

...

<ArtWorks>

   <ArtWork type="H" url="https://server/imagen_H.JPG" contentRef="A80466259" />
   <ArtWork type="P" url="https://server/imagen_V.JPG" contentRef="A80466259" />

</ArtWorks>



Technical note

When adding or updating, the attribute "ExternalId" must be filled because it keeps the relationship with the elements created in the system.
With trailers, previews and extras, they will always have to be defined in the XML file before the element to which they are referenced, otherwise the content will not exist for the element that is referencing it.
The same applies to supra-content, seasons and episodes.
For the 'Content' element, if it does not have a serial structure, the 'SeriesRef', 'SupraRef' and 'Number' fields are not necessary.
The correct order to send the information in the XML would be Trailer, preview, extra, supra-content, seasons, episodes and titles.
Extras may be defined at Supracontent and title level, but not at series or episode level.
Previews may be defined at Series and title level, but not at Supracontent or episode level.
Trailers may be referenced at series, episode or title level, but not at supra-content level.

Additional materials by content type:

  • Supra-contents: extras.
  • Series: trailer and video preview.
  • Contents:
      • Titles: trailer, video preview and extras.
      • Episodes: trailer (obsolete).
















​​