An example XML file is available here example.xml along with it's schema here tv-data-exchange-schema.xsd
<?xml version="1.0" encoding="utf-8" ?>
<data xmlns="http://schemas.tvdataexchange.com/2020/04/tv-data-exchange-schema.xsd">
<source>
<copyright>ABC Co</copyright>
<licensee>XYX Co</licensee>
<application>DataEngine 1.0</application>
</source>
<criteria>
<creationDate>2019-04-01 23:20:19Z</creationDate>
<channels>1,2,3,4,5,6,7,8,9,10</channels>
<dateRange from="2019-01-01 00:00:00" to="2019-01-31 23:59:59" />
<regions>UK,US</regions>
</criteria>
<transmission
channel="A channel name"
channelId="32"
date="2019-01-01"
startTime="06:00:00"
endTime="06:58:52"
startDateTime="2019-01-01 06:00:00Z"
endDateTime="2019-01-01 06:58:52Z"
day="Tuesday"
totalDurationInSeconds="3532"
nonIntervalDurationInSeconds="3219"
title="Sample programme"
region="UK"
level="1"
genre=""
eidr=""
contentId=""
id="A3D5A1DD-8019-4354-96CB-A42FAFCEF298"
episodeNumber="4"
seriesNumber="2"
episodesInSeries="8"
distributor="Distribution company"
productionCompany="Production company"
productionYear="2018"
isOriginal="Yes"
isRepeat="No"
isPremiere="Yes"
isSplitTransmission="No"
imdb="">
<title language="en-US">Sample programme</title>
<title language="es-BR">Programa de muestra</title>
<interval
startTime="06:10:00"
endTime="06:12:30"
durationInSeconds="150"
startDateTime="2019-01-01 06:10:00Z"
endDateTime="2019-01-01 06:12:30Z"
name="Kinder Surprise"
type="BREAK"
isan="KRO/FEKS075/020"
/>
<interval
startTime="06:20:00"
endTime="06:22:30"
durationInSeconds="150"
startDateTime="2019-01-01 06:20:00Z"
endDateTime="2019-01-01 06:22:30Z"
name="Amazon Just Ask Alexa"
type="OTHER"
isan="JLN/AMPR093/030"
/>
<figure
demo="Adults"
demoId="10"
activity="Live"
audience="300"
share="3.2"
ttv="12400"
tvr="0.4"
universe="98200"
minTvr="0.23"
maxTvr="15.96"
minAudience="141.4"
maxAudience="626.2"
minShare="5.56"
maxShare="46.29"
/>
<figure
demo="Women"
demoId="11"
activity="Live"
audience="200"
share="2.2"
ttv="11400"
tvr="0.4"
universe="97200"
minTvr="0.53"
maxTvr="18.96"
minAudience="241.4"
maxAudience="426.2"
minShare="6.56"
maxShare="56.29"
/>
</transmission>
<transmission>
...
</transmission>
<dayPart
channel="A channel name"
channelId="32"
date="2019-01-01"
startTime="06:00:00"
endTime="06:01:00"
startDateTime="2019-01-01 06:00:00Z"
endDateTime="2019-01-01 06:01:00Z"
durationInSeconds="60"
region="UK">
<figure
demo="Adults"
demoId="10"
activity="Live"
audience="300"
share="3.2"
tvr="0.4"
ttv="12400"
universe="98200"
minTvr="0.23"
maxTvr="15.96"
minAudience="141.4"
maxAudience="626.2"
minShare="5.56"
maxShare="46.29"
/>
<figure
demo="Women"
demoId="11"
activity="Live"
audience="200"
share="2.2"
ttv="11400"
tvr="0.4"
universe="97200"
minTvr="0.53"
maxTvr="18.96"
minAudience="241.4"
maxAudience="426.2"
minShare="6.56"
maxShare="56.29"
/>
</dayPart>
<dayPart />
</data>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://schemas.tvdataexchange.com/2020/04/tv-data-exchange-schema.xsd" xmlns:tv="http://schemas.tvdataexchange.com/2020/04/tv-data-exchange-schema.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="title">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="language" type="xs:string" use="optional" />
<xs:anyAttribute />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="figure">
<xs:complexType>
<xs:attribute name="demo" type="xs:string" use="optional" />
<xs:attribute name="demoId" type="xs:string" use="optional" />
<xs:attribute name="activity" type="xs:string" use="optional" />
<xs:attribute name="activityId" type="xs:string" use="optional" />
<xs:attribute name="platform" type="xs:string" use="optional" />
<xs:attribute name="platformId" type="xs:string" use="optional" />
<xs:attribute name="audience" type="xs:decimal" use="optional" />
<xs:attribute name="share" type="xs:decimal" use="optional" />
<xs:attribute name="tvr" type="xs:decimal" use="optional" />
<xs:attribute name="hut" type="xs:decimal" use="optional" />
<xs:attribute name="put" type="xs:decimal" use="optional" />
<xs:attribute name="ttv" type="xs:decimal" use="optional" />
<xs:attribute name="universe" type="xs:decimal" use="optional" />
<xs:attribute name="minAudience" type="xs:decimal" use="optional" />
<xs:attribute name="maxAudience" type="xs:decimal" use="optional" />
<xs:attribute name="minShare" type="xs:decimal" use="optional" />
<xs:attribute name="maxShare" type="xs:decimal" use="optional" />
<xs:attribute name="minTvr" type="xs:decimal" use="optional" />
<xs:attribute name="maxTvr" type="xs:decimal" use="optional" />
<xs:attribute name="minPut" type="xs:decimal" use="optional" />
<xs:attribute name="maxPut" type="xs:decimal" use="optional" />
<xs:attribute name="minHut" type="xs:decimal" use="optional" />
<xs:attribute name="maxHut" type="xs:decimal" use="optional" />
<xs:anyAttribute />
</xs:complexType>
</xs:element>
<xs:element name="source">
<xs:complexType>
<xs:sequence>
<xs:choice maxOccurs="unbounded" minOccurs="1">
<xs:element name="copyright" type="xs:string" />
<xs:element name="licensee" type="xs:string" />
<xs:element name="application" type="xs:string" />
<xs:element name="provider" type="xs:string" />
<xs:element name="recipient" type="xs:string" />
<xs:any namespace="##other" />
<xs:any namespace="##local" />
</xs:choice>
</xs:sequence>
<xs:anyAttribute />
</xs:complexType>
</xs:element>
<xs:element name="criteria">
<xs:complexType>
<xs:sequence>
<xs:choice maxOccurs="unbounded" minOccurs="1">
<xs:element name="creationDate" type="xs:string" />
<xs:element name="channels" type="xs:string" />
<xs:element name="demos" type="xs:string" />
<xs:element name="date" type="xs:dateTime" />
<xs:element name="dateRange">
<xs:complexType>
<xs:attribute name="from" type="xs:string" use="optional" />
<xs:attribute name="to" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
<xs:element name="regions" type="xs:string" />
<xs:any namespace="##other" />
</xs:choice>
</xs:sequence>
<xs:anyAttribute />
</xs:complexType>
</xs:element>
<xs:element name="references">
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:any namespace="##other" />
<xs:any namespace="##local" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="interval">
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="tv:figure" />
<xs:any namespace="##other" />
<xs:any namespace="##local" />
</xs:choice>
</xs:sequence>
<xs:attribute name="startTime" type="xs:string" use="optional" />
<xs:attribute name="endTime" type="xs:string" use="optional" />
<xs:attribute name="durationInSeconds" type="xs:integer" use="optional" />
<xs:attribute name="startDateTime" type="xs:dateTime" use="optional" />
<xs:attribute name="endDateTime" type="xs:dateTime" use="optional" />
<xs:attribute name="name" type="xs:string" use="optional" />
<xs:attribute name="type" type="xs:string" use="optional" />
<xs:attribute name="isan" type="xs:string" use="optional" />
<xs:anyAttribute />
</xs:complexType>
</xs:element>
<xs:element name="transmission">
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="tv:title" />
<xs:element ref="tv:transmission" />
<xs:element ref="tv:interval" />
<xs:element ref="tv:figure" />
<xs:any namespace="##other" />
<xs:any namespace="##local" />
</xs:choice>
</xs:sequence>
<xs:attribute name="channel" type="xs:string" use="optional" />
<xs:attribute name="channelId" type="xs:string" use="optional" />
<xs:attribute name="date" type="xs:dateTime" use="optional" />
<xs:attribute name="startTime" type="xs:string" use="optional" />
<xs:attribute name="endTime" type="xs:string" use="optional" />
<xs:attribute name="startDateTime" type="xs:dateTime" use="optional" />
<xs:attribute name="endDateTime" type="xs:dateTime" use="optional" />
<xs:attribute name="day" type="xs:string" use="optional" />
<xs:attribute name="totalDurationInSeconds" type="xs:integer" use="optional" />
<xs:attribute name="nonIntervalDurationInSeconds" type="xs:integer" use="optional" />
<xs:attribute name="contentDurationInSeconds" type="xs:integer" use="optional" />
<xs:attribute name="title" type="xs:string" use="optional" />
<xs:attribute name="region" type="xs:string" use="optional" />
<xs:attribute name="level" type="xs:integer" use="optional" />
<xs:attribute name="genre" type="xs:string" use="optional" />
<xs:attribute name="eidr" type="xs:string" use="optional" />
<xs:attribute name="contentId" type="xs:string" use="optional" />
<xs:attribute name="id" type="xs:string" use="optional" />
<xs:attribute name="episodeNumber" type="xs:integer" use="optional" />
<xs:attribute name="seriesNumber" type="xs:integer" use="optional" />
<xs:attribute name="episodesInSeries" type="xs:integer" use="optional" />
<xs:attribute name="distributor" type="xs:string" use="optional" />
<xs:attribute name="productionCompany" type="xs:string" use="optional" />
<xs:attribute name="productionYear" type="xs:integer" use="optional" />
<xs:attribute name="isOriginal" type="xs:string" use="optional" />
<xs:attribute name="isRepeat" type="xs:string" use="optional" />
<xs:attribute name="isPremiere" type="xs:string" use="optional" />
<xs:attribute name="isSplitTransmission" type="xs:string" use="optional" />
<xs:attribute name="imdb" type="xs:string" use="optional" />
<xs:anyAttribute />
</xs:complexType>
</xs:element>
<xs:element name="dayPart">
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="tv:figure" />
<xs:any namespace="##other" />
<xs:any namespace="##local" />
</xs:choice>
</xs:sequence>
<xs:attribute name="channel" type="xs:string" use="optional" />
<xs:attribute name="channelId" type="xs:string" use="optional" />
<xs:attribute name="date" type="xs:dateTime" use="optional" />
<xs:attribute name="startTime" type="xs:string" use="optional" />
<xs:attribute name="endTime" type="xs:string" use="optional" />
<xs:attribute name="startDateTime" type="xs:dateTime" use="optional" />
<xs:attribute name="endDateTime" type="xs:dateTime" use="optional" />
<xs:attribute name="durationInSeconds" type="xs:integer" use="optional" />
<xs:attribute name="region" type="xs:string" use="optional" />
<xs:anyAttribute />
</xs:complexType>
</xs:element>
<xs:element name="data">
<xs:complexType>
<xs:sequence>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element ref="tv:source" />
<xs:element ref="tv:criteria" />
<xs:element ref="tv:transmission" />
<xs:element ref="tv:dayPart" />
<xs:any namespace="##other" />
<xs:any namespace="##local" />
</xs:choice>
</xs:sequence>
<xs:anyAttribute />
</xs:complexType>
</xs:element>
</xs:schema>