XML External platforms
Content
Documentation of the XML loading schema for external platforms
Declared namespaces used in the specification
Representation of the schematic components
Schema element declarations
VodData element
Supra element
Series element
Content element
Title element
CastMember element
VodItem element
Period element
AudioTrack element
SubtitleTrack element
AdditionalMaterial element
HighlightsDate element
Image element
Complete XSD Schema Specification
Download XSD schema
Full XML example of episode
Full XML example of tittle
Technical note
ANNEX I (Valid values)
Change tracking
|
Version
|
Modification date
|
Reason for change
|
|
10
|
10/10/2022
|
Separate VOD and external platforms. The ExternalID field is removed from all elements. Description and ContentGenre fields are mandatory in Supra, Series and Content elements. Rating field id mandatory in Series and Content elements. The ExpiryDate and D2Go fields in the Content element are no longer required. The MediaSource element is removed. The TypeCommercialType and PackageCommercial fields of the Period element are mandatory.
|
Documentation of the XML loading schema for external platforms
Namespaces declared in the specification used
Representation of the schematic 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>
Schema element declarations
The following sections represent each of the elements that can be included in the data 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.
Then, the XSD schematic representation of the component is shown. This formal declaration establishes the validity criteria to be able to check that an XML file complies with the format.
Finally, an XML example of each element is included to see the type of information expected in 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. 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.
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]">
<Supra> ... </Supra> [0..*]
<Series> ... </Series> [0..*]
<Content> ... </Content> [0..*]
<AdditionalMaterial> ... </AdditionalMaterial> [0..*]
</VodData>
Component representation in the XSD schema
<xs:element name="VodData">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Supra" />
<xs:element ref="Series" />
<xs:element ref="Content" />
<xs:element ref="AdditionalMaterial" />
</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
<VodData
creationDate="2021-03-15T15:32:14Z"
catalog="MOV"
provider="Movistar+"
linkedChannel="MVSER">
…
</VodData>
Supra element
Element description
This element allows the definition of a supracontent, which is a grouping of series and/or seasons.
It has as attribute the unique identifier, in order to be able to refer to the supracontent in successive uploads. It is also used in the same file, in the case of other elements that have to refer to this supracontent.
Editorial information is requested such as titles in the corresponding language, synopsis, review, description, genres and subgenres (first level, second level and third level) are requested (See
Annex I.4), the original content indicator, and the content identifier in IMDb.
The title, synopsis, review, description and genre/subgenre first level values are mandatory.
In case of including a supracontent, it will be necessary to add a Content element with all the additional information of the supracontent (Images, deeplinks, etc.).
XML instance representation
<Supra
id="xs:string (length <= 100) [1]">
<ExternalId> xs:string </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> [1]
<ContentGenre>
xs:string (length <= 38 each, separated by “;”)
(valid values: see Annex I.4)
</ContentGenre> [1]
<ContentGenre2>
xs:string (length <= 38 each, separated by “;”)
(valid values: see Annex I.4)
</ContentGenre2> [0..1]
<ContentGenre3>
xs:string (length <= 38 each, separated by “;”)
(valid values: see Annex I.4)
</ContentGenre3> [0..1]
< OriginalContent>xs:string (length = 1)</OriginalContent> [0..1]
(valid values: ‘S’ Sí
‘N’ No)
<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 ref="Title" 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">
<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"/>
<xs:element name="ContentGenre3" type="xs:string" minOccurs="0"/>
<xs:element name="OriginalContent" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="S"/>
<xs:enumeration value="N"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="IdImdb" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="30"/>
</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
<Supra id="804600">
<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>
< OriginalContent>S</OriginalContent>
<IdImdb> tt10883660</IdImdb>
</Supra>
Series element
Element description
This element allows you to define the information of a season of a series.
It has as attribute the unique identifier, in order to be able to refer to the season in successive loads. It is also used in the same file, in the case of other elements that have to refer to this season.
Editorial information is requested such as titles, synopsis, review, description, genres and subgenres (first, second and third level) (See
Annex I.4), season, year of production, age rating (See
Annex I.3), nationalities (codes according to ISO 3166-1 alpha-3 separated by ";"), average length of all episodes of the season (in seconds), target or target audience (in seconds), periodicity (in seconds), and the number of episodes (in seconds), nationalities (ISO 3166-1 alpha-3 codes separated by ";"), average length of all episodes of the season (in seconds), target audience, release frequency, mode of release (See
Annex I.1), original content indicator, IMDb content identifier, and date of release. The "supraref" element is included to indicate which supracontent the season is associated with, and the CastMember element to refer to the participants associated with the season.
The values of title, synopsis, review, description, first level genre/subgenre, age rating and average length are mandatory.
In case of including a season, it will be necessary to add a Content element with all the additional information of the season (Images, deeplinks, etc.).
XML instance representation
<Series
id="xs:string (length <= 100) [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> [1]
<ContentGenre>
xs:string (length <= 38 each, separated by “;”)
(valid values: see Annex I.4)
</ContentGenre> [1]
<ContentGenre2>
xs:string (length <= 38 each, separated by “;”)
(valid values: see Annex I.4)
</ContentGenre2> [0..1]
<ContentGenre3>
xs:string (length <= 38 each, separated by “;”)
(valid values: see Annex I.4)
</ContentGenre3> [0..1]
<Season>xs:string (length <= 50)</Season> [0..1]
<Year>xs:unsignedShort </Year> [0..1]
<Rating>
xs:string (length <= 6)
(valid values: see Annex I.3)
</Rating> [1]
<Countries>
xs:string (norma ISO 3166-1 alfa-3 separated by “;”)
</Countries> [0..1]
<DuracionMedia> xs:unsignedLong </DuracionMedia> [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’ Diaria
‘2’ Quincenal
‘3’ Mensual
‘4’ Semanal)
<ModoPublicacion>
xs:string (length <= 6)
</ModoPublicacion> [0..1]
(valid values: ‘1’ Catchup
‘2’ Temporada acumulada
‘3’ Temporada completa
‘4’ Box set/serie completa
see Annex I.1 or more information).
<OriginalContent>xs:string (length = 1)</OriginalContent> [0..1]
(valid values: ‘S’ Sí
‘N’ No)
<IdImdb>xs:string (length <= 30) </IdImdb> [0..1]
<SupraRef>xs:string (length <= 100) </SupraRef> [0..1]
<CastMembers> ... </CastMembers> [0..*]
<HighlightsDate> ... </HighlightsDate> [0..1]
</Series>
Component representation in the XSD schema
<xs:element name="Series">
<xs:complexType>
<xs:sequence>
<xs:element ref="Title" 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">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ContentGenre" type="xs:string" minOccurs="0"/>
<xs:element name="ContentGenre2" type="xs:string" minOccurs="0"/>
<xs:element name="ContentGenre3" type="xs:string" minOccurs="0"/>
<xs:element name="Season" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Year" type="xs:unsignedShort"
minOccurs="0"/>
<xs:element name="Rating" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Countries" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DuracionMedia" type="xs:unsignedLong"/>
<xs:element name="Target" minOccurs="0">
<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">
<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">
<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="OriginalContent" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="S"/>
<xs:enumeration value="N"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="IdImdb" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="30"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SupraRef" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element ref="CastMember" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="HighlightsDate" minOccurs="0"/>
</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
<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>
<Season>2</Season>
<Year>2020</Year>
<Rating>(+16)</Rating>
<Countries>ES</Countries>
<DuracionMedia>3000</DuracionMedia>
<Target>APINF712</Target>
<PeriodicidadEstreno>3</PeriodicidadEstreno>
<ModoPublicacion>1</ModoPublicacion>
< OriginalContent>N</OriginalContent>
<SupraRef>804600</SupraRef>
<CastMember>...</CastMember>
<CastMember>...</CastMember>
<HighlightsDate start="2020-03-14T13:00:00Z"
end="2020-06-30T00:00:00Z"/>
</Series>
Content element
Element description
This element is used to define the information of a content.
It has a unique identifier attribute, in order to be able to refer to the content in successive uploads. It is also used in the same file, in the case of other elements that have to refer to this content.
Editorial information is requested such as titles in appropriate languages, synopsis, review, description, and genres and subgenres (first, second and third level) (See
Annex I.4), duration of content in seconds, expiration date, year of production, age rating (See
Annex I.3), nationalities (ISO 3166-1 alpha-3 codes separated by ";"), tags (separated by ";"), awards (separated by ";"), "Download To Go" indicator, original content indicator, IMDb content identifier, and highlight date.
In the case of seasons, episodes or some type of grouped content, the code of the supracontent to which it belongs, and the code of the associated season must be reported. In the case of episodes, the order number in the season must also be reported.
In the case of episodes, the order number in the season must also be reported.
Also included within the content information is each of the entries that may be displayed in the catalog, called VodItem, and the CastMember element to reference the content participants.
The values of title, synopsis, review, description, first level genre/subgenre and duration are mandatory.
A Content element that corresponds to a Supracontent or Season will have the same identifier as the Supra or Series element it references.
XML instance representation
<Content id="xs:string (length <= 100) [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> [1]
<ContentGenre>
xs:string (length <= 38 each, separated by “;”)
(valid values: see Annex I.4)
</ContentGenre> [0..1]
<ContentGenre2>
xs:string (length <= 38 each, separated by “;”)
(valid values: see Annex I.4)
</ContentGenre2> [0..1]
<ContentGenre3>
xs:string (length <= 38 each, separated by “;”)
(valid values: see Annex I.4)
</ContentGenre3> [0..1]
<SecondsDuration> xs:unsignedShort </SecondsDuration> [1]
<ExpiryDate> xs:dateTime </ExpiryDate> [0..1]
<SeriesRef>xs:string (length <= 100)</SeriesRef> [0..1]
<Number> xs:unsignedShort </Number> [0..1]
<Year> xs:unsignedShort </Year> [0..1]
<Rating>
xs:string (length <= 6)
(valid values: see Annex I.3)
</Rating> [0..1]
<Countries>
xs:string (norma ISO 3166-1 alfa-3 separated by “;”)
</Countries> [0..1]
<Tags>xs:string (separated by “;”)</Tags> [0..1]
<Awards>xs:string (separated by “;”)</Awards> [0..1]
<D2Go> xs:string (length = 1) </D2Go> [0..1]
(valid values: ‘S’ Sí
‘N’ No)
<OriginalContent>xs:string (length = 1)</OriginalContent> [0..1]
(valid values: ‘S’ Sí
‘N’ No)
<IdImdb>xs:string (length <= 30) </IdImdb> [0..1]
<SupraRef>xs:string (length <= 100) </SupraRef> [0..1]
<VodItem> ... </VodItem> [0..*]
<CastMember> ... </CastMember> [0..*]
<HighlightsDate> ... </HighlightsDate> [0..1]
</Content>
Component representation in the XSD schema
<xs:element name="Content">
<xs:complexType>
<xs:sequence>
<xs:element ref="Title" 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">
<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"/>
<xs:element name="ContentGenre3" type="xs:string" minOccurs="0"/>
<xs:element name="SecondsDuration" type="xs:unsignedShort"/>
<xs:element name="ExpiryDate" type="xs:dateTime" minOccurs="0"/>
<xs:element name="SeriesRef" minOccurs="0">
<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"/>
<xs:element name="Year" type="xs:unsignedShort" minOccurs="0"/>
<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="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Tags" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Awards" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="D2Go" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="S"/>
<xs:enumeration value="N"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="OriginalContent" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="S"/>
<xs:enumeration value="N"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="IdImdb" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="30"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SupraRef" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element ref="CastMember" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="HighlightsDate" minOccurs="0"/>
</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
<Content id="804665">
<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>(+16)</Rating>
<Countries>ES</Countries>
<Tags>Thriller; Emmy;Series completas</Tags>
<Awards>Premios del sindicato de guionistas – Mejor serie dramática</Awards>
<OriginalContent>S</OriginalContent>
<IdImdb> tt10884732</IdImdb>
<SupraRef>804600</SupraRef>
<VodItem>...</VodItem>
<VodItem>...</VodItem>
<CastMember>...</CastMember>
<CastMember>...</CastMember>
<CastMember>...</CastMember>
<HighlightsDate start="2020-04-16T22:00:00Z" end="2020-07-15T00:00:00Z"/>
</Content>
Title element
Element description
This element allows you to define a title in contents, series, supercontents and additional materials. Each of these elements can specify one or two titles: the title in English and another in the original language. The language will be registered using the "locale" attribute. By default, if no other value is specified, the "locale" attribute is reported with "es_ES".
The "locale" attribute is composed with the language code according to ISO 639-1 (http://www.loc.gov/standards/iso639-2/php/English_list.php) and the country code defined in ISO 3166-1 alfa-2 (http://www.iso.org/iso/english_country_names_and_code_elements).
XML instance representation
<Title
locale="xs:string (length <= 5) default value “es_ES" [0..1]">
xs:string (longitud <= 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>Perdidos</Title>
<Title locale="en_US">Lost</Title>
CastMember element
Element description
This element allows to define the information of a participant (actor, director, producer, etc.).
It has as an attribute the unique identifier, which makes it possible to refer to the same participant in other elements of the file, as well as in successive uploads.
It is mandatory to inform the name of the participant and the participant's function, which is specified by a value from the list of function codes (See
Annex I.5).
Additionally, you can specify the character, the URL of the participant's image, and the URL of the character's image.
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 I.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">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Image" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CharacterImage" minOccurs="0">
<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>Vicky Luengo</Name>
<Role>ACTOR</Role>
<Character>Laia</Character>
<Image>https://_Vicky_Luengo.jpg</Image>
<CharacterImage>https://Laia.jpg</CharacterImage>
</CastMember>
VodItem element
Element description
This element allows defining the information of an event that is available for broadcasting.
It has as an attribute the unique identifier, in order to be able to refer to the VodItem in successive uploads. It is also used in the same file, in the case of other elements that have to refer to this VodItem.
Technical information about the file is requested, such as the version (from the allowed values), the video format (from the allowed values), the list of catalog nodes in which it should appear, the publication periods, the type of right (See
Annex I.2), the audio tracks, the subtitle tracks, the deeplink, the images and the date of highlighting.
The publication periods, right type, node list, audio tracks and subtitle tracks specified in the VodItems must always be included complete, as the upload operation will remove all these items before uploading the ones that are received again.
It is mandatory to report at least one publication period, the deeplink, and the horizontal (H), vertical (P) and fanart (F) image formats.
XML instance representation
<VodItem id="xs:string (length <= 100) [1]">
<Version> xs:string (valid values:
'VE'
'DUAL'
'DUAL TXT'
'DUAL TXT+SRD'
'VE SRD'
'VO')
</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')
</VideoFormat> [0..1]
<Period> ... </Period> [1..*]
<TipoDerecho>xs:string</TipoDerecho>
(Valid Values:
'PAYTV/CATCHUP'
'SVOD'
Default Value: 'PAYTV/CATCHUP'.
Admits combination of values, separated by ";".
see Annex I.2 for more details.) [1]
<AudioTrack> ... </AudioTrack> [0..*]
<SubtitleTrack> ... </SubtitleTrack> [0..*]
<Deeplink>xs:string (length <= 2000)</Deeplink> [1]
<HighlightsDate> ... </HighlightsDate> [0..1]
<Image> ... </Image> [3..5]
</VodItem>
Component representation in the XSD schema
<xs:element name="VodItem">
<xs:complexType>
<xs:sequence>
<xs:element name="Version" minOccurs="0">
<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:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="VideoFormat" minOccurs="0">
<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"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element ref="Period" maxOccurs="unbounded"/>
<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:restriction>
</xs:simpleType>
</xs:element>
<xs:element ref="AudioTrack" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="SubtitleTrack" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Deeplink" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element ref="HighlightsDate" minOccurs="0"/>
<xs:element ref="Image" maxOccurs="5" />
</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
<VodItem id="804665-SD">
<Version>DUAL TXT</Version>
<VideoFormat>16:9 Fullscreen</VideoFormat>
<Period start="2018-03-14T13:00:00Z" end="2018-06-30T00:00:00Z"/>
<Period start="2018-10-25T19:00:00Z" end="2019-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" />
<Deeplink>https://deeplink/FortmatoSD</Deeplink>
<HighlightsDate start="2020-03-14T13:00:00Z"
end="2020-06-30T00:00:00Z"/>
<Images> ... </Images>
</VodItem>
<VodItem id="804665-HD">
<Version>DUAL TXT</Version>
<VideoFormat>HD Fullscreen</VideoFormat>
<Period start="2018-05-17 T16:00:00Z" end="2019-05-27 T17:00:00Z">
<TipoComercializacion>SVOD</TipoComercializacion>
<PaqueteComercial>PREMIUM</PaqueteComercial>
</Period>
<Period start="2019-05-28 T16:00:00Z" end="2012-05-27 T17:00:00Z">
<TipoComercializacion>SVOD</TipoComercializacion>
<PaqueteComercial>PREMIUM</PaqueteComercial>
</Period>
<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" />
<Deeplink>https://deeplink/FortmatoHD</Deeplink>
<Images> ... </Images>
</VodItem>
<VodItem id="804665-UHD">
<Version>DUAL TXT</Version>
<VideoFormat>UHD</VideoFormat>
<Period start="2018-05-17 T16:00:00Z" end="2019-05-27 T17:00:00Z">
<TipoComercializacion>SVOD</TipoComercializacion>
<PaqueteComercial>PREMIUM</PaqueteComercial>
</Period>
<Period start="2019-05-28 T16:00:00Z" end="2012-05-27 T17:00:00Z">
<TipoComercializacion>SVOD</TipoComercializacion>
<PaqueteComercial>PREMIUM</PaqueteComercial>
</Period>
<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" />
<Deeplink>https://deeplink/FortmatoSD</Deeplink>
<HighlightsDate start="2020-03-14T13:00:00Z"
end="2020-06-30T00:00:00Z"/>
<Images> ... </Images>
</VodItem>
Period element
Element description
This element allows defining the date ranges in which an event will be published.
It has as mandatory attributes the dates of entry and exit of the VOD catalog. It is recommended to use dates/times with UTC reference (GMT+0).
The marketing type and commercial package identifiers associated with the period must be reported. If there is no value for these fields, they should be reported with the default value "NA".
XML instance representation
<Period start="xs:dateTime [1]" end="xs:dateTime [1]">
<TipoComercializacion>
xs:string (length <= 200)
</TipoComercializacion> [1]
<PaqueteComercial>
xs:string (length <= 200)
</PaqueteComercial> [1]
</Period>
Component representation in the XSD schema
<xs:element name="Period">
<xs:complexType>
<xs:sequence>
<xs:element name="TipoComercializacion">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PaqueteComercial">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
<xs:attribute name="start" type="xs:dateTime" use="required"/>
<xs:attribute name="end" type="xs:dateTime" use="required"/>
</xs:complexType>
</xs:element>
Element XML Sample
<Period start="2018-05-17 T16:00:00Z" end="2018-05-27 T17:00:00Z">
<TipoComercializacion>Suscripción</TipoComercializacion>
<PaqueteComercial>Premium</PaqueteComercial>
</Period>
<Period start="2019-05-17 T16:00:00Z" end="2020-05-27 T17:00:00Z">
<TipoComercializacion>NA</TipoComercializacion>
<PaqueteComercial>NA</PaqueteComercial>
</Period>
AudioTrack element
Element description
This element allows you to define each of the audio tracks of the VodItems and of the source medium of the video files.
The information included are the order number, the audio type (with preset values) and the language (according to ISO 639-2 standard,
http://www.loc.gov/standards/iso639-2/php/English_list.php).
XML instance representation
<AudioTrack
order="xs:unsignedShort [1]"
audioType="xs:string [1] (valid values:
'Mono'
'Stereo'
'Dolby SR’
'Dolby E/St'
'Dolby E/5.1+2')"
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 SR"/>
<xs:enumeration value="Dolby E/St"/>
<xs:enumeration value="Dolby E/5.1+2"/>
</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/St" language="eng" />
SubtitleTrack element
Element description
This element allows you to define each of the subtitle tracks of the VodItems and of the source media of the video files.
The information included are the order number, the language (ISO 639-2,
http://www.loc.gov/standards/iso639-2/php/English_list.php) and whether they are subtitles for the deaf or not.
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]"/>
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:complexType>
</xs:element>
Element XML Sample
<SubtitleTrack order="1" language="spa" />
<SubtitleTrack order="2" language="eng" hearingImpaired="true" />
AdditionalMaterial element
Element description
Element to specify additional material associated to the series and contents.
It has as attribute the unique identifier, which allows to refer to the same additional material in the different VodItems of the file, and in the successive uploads.
It is mandatory to inform the type of additional material, which can be Trailer (T), Extras (E) or Video preview (VP), the title, the name of the video file, the duration expressed in seconds, and the start and end dates of publication. The VodItems associated with the additional material must be reported.
XML instance representation
<AdditionalMaterial id="xs:string (length <= 100) [1]">
<Type>xs:string (length <= 2)</Type> [1]
(valid values: 'T' Trailer
'E' Extras
'VP' Videos preview)
<Title>xs:string (length <= 100)</Title> [1]
<SecondsDuration> ... </SecondsDuration> [1]
<Content> ... </Content> [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="Title">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SecondsDuration" type="xs:unsignedShort" />
< xs:element ref="VodItem" maxOccurs="unbounded"/>
</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
<AdditionalMaterial id="45654”>
<Type>E</Type>
<Title>Dentro del episodio "Osorio"</Title>
<SecondsDuration>240</SecondsDuration>
<VodItem> ... </VodItem>
</AdditionalMaterial>
HighlightsDate element
Element description
Element to specify the period in which a content is marked as highlighted.
Only the start and end information of the period is included in this element. It is recommended to use dates/times with UTC reference (GMT+0).
XML instance representation
<HighlightsDate start="xs:dateTime [1]" end="xs:dateTime [1]"/>
Component representation in the XSD schema
<xs:element name="HighlightsDate">
<xs:complexType>
<xs:attribute name="start" type="xs:dateTime" use="required"/>
<xs:attribute name="end" type="xs:dateTime" use="required"/>
</xs:complexType>
</xs:element>
Element XML Sample
<HighlightsDate start="2020-05-10 T16:00:00Z"
end="2020-06-10 T17:00:00Z"/>
Image element
Element description
Element to specify information of the images associated to series and contents. For each image the type (among the allowed values) and the resource locator must be specified.
It is mandatory to include information of the Fantart TV image types, horizontal 16:9, horizontal 4:3 and vertical 2:3.
XML instance representation
<Image>
<Type>xs:string (valid values:
'F' Fanart TV
'H' Horizontal 16:9
‘4’ Horizontal 4:3
‘P’ Vertical 2:3)
</Type> [1]
<Url>xs:string (lenth <= 2000)</Url> [1]
</Image>
Component representation in the XSD schema
<xs:element name="Image">
<xs:complexType>
<xs:sequence>
<xs:element name="Type">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="F"/>
<xs:enumeration value="H"/>
<xs:enumeration value="4"/>
<xs:enumeration value="P"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Url">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
Element XML Sample
<Image>
<Type>F</Type>
<Url>https://images/imagefanarttv.jpg</Url>
</Image>
Technical note
Both in additions and modifications, the "id" attribute must always be informed, since it will maintain the relationship with the element of the NUBE system.
In any case, it will be necessary to specify the relationships between the episodes and their season series (and, if available, also of the supra-content), between the season series (seasons) and their supra-content, and between content and additional material.
In the 'Content' element, if it is not a serialized structure, the 'SeriesRef', 'SupraRef' and 'Number' fields are not necessary.
In the case of trailers, previews and supracontent extras, seasons and episodes, they will always have to be defined in the XML before the element to which it is referenced, otherwise the content will not exist for the element that is referencing it.
The same would happen with supercontents, seasons and episodes.
If the channel already sent previous values in the moral levels (codes '01', '03', etc.) they would also be valid, backward compatibility is maintained.
The correct order to send the information in the XML xml would be Trailer, prievew, extra, supracontents, seasons, episodes and titles.