<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
  xmlns:tns="http://feed.elasticstats.com/schema/nfl/depth_chart-v1.0.xsd" 
  targetNamespace="http://feed.elasticstats.com/schema/nfl/depth_chart-v1.0.xsd"
           elementFormDefault="qualified">  

	<xs:element name="game" type="tns:gameType" />
	
	<xs:element name="team" type="tns:teamType"/>

	<xs:complexType name="gameType">
		<xs:sequence>
		  <xs:element ref="tns:team" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="away" use="required" type="xs:string"/>
		<xs:attribute name="home" use="required" type="xs:string"/>
		<xs:attribute name="id" use="required"/>
		<xs:attribute name="scheduled" use="required" type="xs:dateTime"/>
		<xs:attribute name="status" use="optional">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="scheduled" />
					<xs:enumeration value="created" />
					<xs:enumeration value="inprogress" />
					<xs:enumeration value="complete" />
					<xs:enumeration value="closed" />
					<xs:enumeration value="delayed" />
					<xs:enumeration value="reopened" />
					<xs:enumeration value="flex-schedule" />
					<xs:enumeration value="time-tbd" />
					
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="teamType">
		<xs:sequence>
		  <xs:element name="offense" minOccurs="0" type="tns:squadType"/>
		  <xs:element name="defense" minOccurs="0" type="tns:squadType"/>
		  <xs:element name="special_teams" minOccurs="0" type="tns:squadType"/>
		</xs:sequence>
		<xs:attribute name="id" use="required" type="xs:string"/>
		<xs:attribute name="market" use="required"/>
		<xs:attribute name="name" use="required" type="xs:string"/>
	</xs:complexType>

	<xs:complexType name="squadType">
		<xs:sequence>	
			<xs:element name="position" minOccurs="0" maxOccurs="unbounded" type="tns:positionType"/>
		</xs:sequence>
		<xs:attribute name="type" use="optional" type="xs:string"/>
	</xs:complexType>

  	<xs:complexType name="positionType">
		<xs:sequence>
			<xs:element name="player" minOccurs="0" maxOccurs="unbounded" type="tns:playerType"/>
		</xs:sequence>
		<xs:attribute name="desc" use="required" type="xs:string"/>
		<xs:attribute name="name" use="required" type="xs:string"/>
	</xs:complexType>
  
	<xs:complexType name="playerType">
		<xs:attribute name="depth" use="required" type="xs:integer"/>
		<xs:attribute name="id" use="required"/>
		<xs:attribute name="jersey_number" use="required" type="xs:integer"/>
		<xs:attribute name="name_full" use="required"/>
		<xs:attribute name="position" use="required" type="xs:string"/>
		<xs:attribute name="status" use="required" type="xs:string"/>
	</xs:complexType>

</xs:schema>
