<?xml version="1.0" encoding="utf-8"?>
<xsd:schema 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns="http://www.traxsource.com" 
    targetNamespace="http://www.traxsource.com" 
    elementFormDefault="qualified">

  <xsd:element name="scope">
    <xsd:complexType>
      <xsd:sequence>

        <!--TITLE-->
        <xsd:element name="release" maxOccurs="unbounded">
          <xsd:complexType>
            <xsd:sequence>
              
              <xsd:element name="format" default="SINGLE">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:token">
                        <xsd:pattern value="SINGLE|EP|ALBUM|MIXEDCOMP|UNMIXEDCOMP|PRODPACK" />
                    </xsd:restriction>
                </xsd:simpleType>
              </xsd:element>
              <xsd:element name="label" type="xsd:token" />
              <xsd:element name="title" type="xsd:token" />
              <xsd:element name="artist" type="xsd:token" />
              <xsd:element name="producer" type="xsd:token" />
              <xsd:element name="upc_ean" type="xsd:token" />
              <xsd:element name="catalog_number" type="xsd:token" />
              <xsd:element name="headline" type="xsd:token" />
              <xsd:element name="description" type="xsd:string" />
              <xsd:element name="keywords" type="xsd:token" />
              <xsd:element name="genres" type="xsd:token" />
              <xsd:element name="traxsource_live_date" type="xsd:date" />
              <xsd:element name="commercial_release_date" type="xsd:date" />
              <xsd:element name="bonus_included" type="xsd:token" />
              <xsd:element name="image_filename" type="xsd:token" />
              <xsd:element name="promo" default="0">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:token">
                        <xsd:pattern value="Yes|No|YES|NO|yes|no|Y|N|y|n|1|0" />
                    </xsd:restriction>
                </xsd:simpleType>
              </xsd:element>
              <xsd:element name="traxsource_exclusive" default="0">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:token">
                        <xsd:pattern value="Yes|No|YES|NO|yes|no|Y|N|y|n|1|0" />
                    </xsd:restriction>
                </xsd:simpleType>
              </xsd:element>
              <xsd:element name="special_instructions" type="xsd:token" />

              <!--TRACKS-->
              <xsd:element name="tracks">
                <xsd:complexType>
                  <xsd:sequence>
                    
                    <xsd:element maxOccurs="unbounded" name="track">
                      <xsd:complexType>
                        <xsd:sequence>
                          <xsd:element name="track_number" type="xsd:unsignedShort" />
                          <xsd:element name="track_artist" type="xsd:token" />
                          <xsd:element name="track_title" type="xsd:token" />
                          <xsd:element name="mix_version" type="xsd:token" />
                          <xsd:element name="duration" type="xsd:token" />
                          <xsd:element name="track_keywords" type="xsd:token" />
                          <xsd:element name="track_unreleased" default="0">
                            <xsd:simpleType>
                                <xsd:restriction base="xsd:token">
                                    <xsd:pattern value="Yes|No|YES|NO|yes|no|Y|N|y|n|1|0" />
                                </xsd:restriction>
                            </xsd:simpleType>
                          </xsd:element>
                          <xsd:element name="isrc" type="xsd:token" />
                          <xsd:element name="track_in_promo" default="0">
                            <xsd:simpleType>
                                <xsd:restriction base="xsd:token">
                                    <xsd:pattern value="Yes|No|YES|NO|yes|no|Y|N|y|n|1|0" />
                                </xsd:restriction>
                            </xsd:simpleType>
                          </xsd:element>
                          <xsd:element name="track_filename" type="xsd:token" />
                        </xsd:sequence>
                      </xsd:complexType>
                    </xsd:element>
                  
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
            
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>

      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>
