<?xml version="1.0" encoding="UTF-8"?>
<xs:schema 
  xmlns:xs="http://www.w3.org/2001/XMLSchema"     
  elementFormDefault="qualified">

  <xs:element name="Games" type="GamesType"></xs:element>

  <xs:complexType name="GamesType">
    <xs:sequence>
      <xs:element name="Game" type="GameType"/>
    </xs:sequence>
    <xs:attribute name="timestamp" use="required" type="xs:dateTime"/>
  </xs:complexType>


    <xs:complexType name="GameType">
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element maxOccurs="unbounded" name="Event" type="EventType"/>
      </xs:choice>
      <xs:attribute name="away_team_id" use="required" type="xs:integer"/>
      <xs:attribute name="away_team_name" use="required"/>
      <xs:attribute name="competition_id" use="required" type="xs:integer"/>
      <xs:attribute name="competition_name" use="required" type="xs:string"/>
      <xs:attribute name="game_date" use="required" type="xs:dateTime"/>
      <xs:attribute name="home_team_id" use="required" type="xs:integer"/>
      <xs:attribute name="home_team_name" use="required"/>
      <xs:attribute name="id" use="required" type="xs:integer"/>
      <xs:attribute name="matchday" type="xs:integer"/>
      <xs:attribute name="season_id" use="required" type="xs:integer"/>
      <xs:attribute name="sport_id" use="required" type="xs:integer"/>
      <xs:attribute name="sport_name" use="required"/>
	  <xs:attribute name="match_uuid" use="optional" type="xs:string"/>
	  <xs:attribute name="away_team_uuid" use="optional" type="xs:string"/>
	  <xs:attribute name="home_team_uuid" use="optional" type="xs:string"/>
    </xs:complexType>


    <xs:complexType name="EventType">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="Q" type="QType"/>
      </xs:sequence>
      <xs:attribute name="event_id" type="xs:integer"/>
      <xs:attribute name="id" use="required" type="xs:string"/>
      <xs:attribute name="last_modified" type="xs:dateTime"/>
      <xs:attribute name="min" use="required" type="xs:integer"/>
      <xs:attribute name="period_id" use="required" type="xs:integer"/>
      <xs:attribute name="player_id" type="xs:integer"/>
      <xs:attribute name="sec" use="required" type="xs:integer"/>
      <xs:attribute name="team_id" type="xs:integer"/>
      <xs:attribute name="timestamp" use="required" type="xs:dateTime"/>
      <xs:attribute name="type_id" use="required" type="xs:integer"/>
	  <xs:attribute name="player_uuid" use="optional" type="xs:string" />
	  <xs:attribute name="x" use="optional" type="xs:string" />
	  <xs:attribute name="y" use="optional" type="xs:string" />
    </xs:complexType>
  

    <xs:complexType mixed="true" name="QType">
      <xs:attribute name="qualifier_id" use="required" type="xs:integer"/>
    </xs:complexType>
  
</xs:schema>
