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

  <xs:element name="OptaFeed" type="OptaFeedType">
    
  </xs:element>
  
  <xs:complexType  name="OptaFeedType">
    <xs:sequence>
      <xs:element name="OptaDocument" type="OptaDocumentType"/>
    </xs:sequence>
  </xs:complexType>
  
    <xs:complexType name="OptaDocumentType">
      <xs:sequence>
        <xs:element name="Competition" type="CompetitionType"/>
      </xs:sequence>
      <xs:attribute name="competition_id" use="required" type="xs:integer"/>
      <xs:attribute name="competition_name" use="required" type="xs:string"/>
      <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" type="xs:string"/>
      <xs:attribute name="timestamp" use="required" type="xs:dateTime"/>
      <xs:attribute name="type" use="required"/>
	  <xs:attribute name="date" use="optional" type="xs:date"/>
	  <xs:attribute name="status" use="optional" type="xs:string"/>
    </xs:complexType>
  
    <xs:complexType name="CompetitionType">
      <xs:sequence>
        <xs:element name="TeamStandings" type="TeamStandingsType"/>
      </xs:sequence>
    </xs:complexType>
  
    <xs:complexType name="TeamStandingsType">
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="TeamRecord" type="TeamRecordType"/>
      </xs:sequence>
      
    </xs:complexType>
  

    <xs:complexType name="TeamRecordType">
      <xs:sequence>
        <xs:element name="Standing" type="StandingType"/>
      </xs:sequence>
      <xs:attribute name="position" use="required" type="xs:integer"/>
      <xs:attribute name="team_id" use="required" type="xs:string"/>
	  <xs:attribute name="conference" use="required" type="xs:string"/>
	  <xs:attribute name="conference_id" use="required" type="xs:integer"/>
	  <xs:attribute name="division" use="required" type="xs:string"/>
	  <xs:attribute name="division_id" use="required" type="xs:integer"/>
    </xs:complexType>
  
    <xs:complexType name="StandingType">
      <xs:choice minOccurs="1" maxOccurs="unbounded">
        <xs:element name="Won" type="xs:integer"/>
        <xs:element name="Lost" type="xs:string"/>
        <xs:element name="PCT" type="xs:string"/>
        <xs:element name="GB" type="xs:string"/>
		<xs:element name="Conf" type="xs:string"/>
		<xs:element name="Div" type="xs:string"/>
		<xs:element name="HomeRecord" type="xs:string"/>
		<xs:element name="AwayRecord" type="xs:string"/>
        <xs:element name="LastTen" type="xs:string"/>
        <xs:element name="Streak" type="xs:string"/>
      </xs:choice>
      <xs:attribute name="conference" use="required" type="xs:string"/>
      <xs:attribute name="conference_id" use="required" type="xs:integer"/>
      <xs:attribute name="division" use="required" type="xs:string"/>
      <xs:attribute name="division_id" use="required" type="xs:integer"/>
      <xs:attribute name="name" use="required" type="xs:string"/>
      <xs:attribute name="type" use="required" type="xs:string"/>
    </xs:complexType>
  

</xs:schema>
