<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (C) 2007 by IndependentIP BV

     The standard defined by the XML schema in this file is the property
     of IndependentIP BV. See http://fugamusic.com/api/schema for the
     current version of the standard. License is granted to freely
     distribute the schema and to implement the standard, provided that
     you: 1) Retain this copyright notice and license unchanged. 2) Clearly
     identify any modifications to the schema as your own

-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.2.4" xmlns:iso3166a2="http://fugamusic.com/schema/iso3166-1-alpha-2">
    <xsd:import namespace="http://fugamusic.com/schema/iso3166-1-alpha-2" schemaLocation="http://fugamusic.com/schema/iso3166-1-alpha-2.xsd" />

    <xsd:element name="album">
        <xsd:complexType>
        <xsd:all>
            <xsd:element name="action">
    			<xsd:annotation>
        			<xsd:documentation>
            			Element describing the action the DSP has to perform with this release. 
					</xsd:documentation>
				</xsd:annotation>
	           <xsd:complexType>
                    <xsd:sequence>
    					<xsd:element name="type">
                			<xsd:annotation>
                    			<xsd:documentation>
                        			Type of the action. Valid type are "insert", "update", "metadata_only", and "delete".
                        			- insert: This is a new delivery of a release, metadata and physical files have been delivered.
                        			- update: Update of a release, metadata and physical files have been delivered. 
                        			- metadata_only: Delivery updates only metadata of a release. 
													Metadata XML file is sent to perform the update, but no tracks and cover art.
                        			- delete: Request to take a release down from the receiver's system. 
													Metadata XML file is sent to identify the release, but no tracks and cover art.
                    			</xsd:documentation>
                			</xsd:annotation>
			                <xsd:simpleType>
			                    <xsd:restriction base="xsd:string">
			                        <xsd:enumeration value="insert"></xsd:enumeration>
			                        <xsd:enumeration value="update"></xsd:enumeration>
			                        <xsd:enumeration value="metadata_only"></xsd:enumeration>
			                        <xsd:enumeration value="delete"></xsd:enumeration>
			                    </xsd:restriction>
			                </xsd:simpleType>
						</xsd:element>
            			<xsd:element name="effective_date" type="xsd:dateTime" maxOccurs="1" minOccurs="0">
			                <xsd:annotation>
			                    <xsd:documentation>
			                        Time when the requested action has to be performed. 
			                        This attribute holds a ISO 8601 time code including a time zone designator so the local time at the DSP can be calculated easily.
			                    </xsd:documentation>
			                </xsd:annotation>                
            			</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
            <xsd:element name="album_notes" type="xsd:string" maxOccurs="1" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>
                        Additional information included with the album, such as recording notes etc.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="alternate_genre" type="genre_type" maxOccurs="1" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>
                        Alternate genre associated with the album.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="alternate_subgenre" type="xsd:string" maxOccurs="1" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>
                        An additional qualifier to alternate genre. There is no definite list for the values; they are defined by the content provider.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="attachments" maxOccurs="1" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>
                        The list of the attachments belonging to this album. Attachments are any files that the content owner wants to distribute
						with the product, such as artist's biography, banners, etc.
                    </xsd:documentation>
                </xsd:annotation>
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="attachment" maxOccurs="unbounded">
	                        <xsd:complexType>
	                            <xsd:annotation>
	                                <xsd:documentation>Element describing one attachment of the product.</xsd:documentation>
	                            </xsd:annotation>
	                            <xsd:all>
	                                <xsd:element name="name" type="xsd:string" maxOccurs="1" minOccurs="0">
	                                    <xsd:annotation>
	                                        <xsd:documentation>
	                                            Name of the attachment.
	                                        </xsd:documentation>
	                                    </xsd:annotation>
	                                </xsd:element>
	                                <xsd:element name="description" type="xsd:string" maxOccurs="1" minOccurs="0">
	                                    <xsd:annotation>
	                                        <xsd:documentation>
	                                            Description of the attachment.
	                                        </xsd:documentation>
	                                    </xsd:annotation>
	                                </xsd:element>
	                                <xsd:element name="original_file_name" type="xsd:string" maxOccurs="1" minOccurs="0">
	                                    <xsd:annotation>
	                                        <xsd:documentation>
	                                            File name under which the attachment was uploaded to FUGA.
	                                        </xsd:documentation>
	                                    </xsd:annotation>
	                                </xsd:element>
									<xsd:element name="file" type="file_type" maxOccurs="1" minOccurs="1"/>
								</xsd:all>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
            <xsd:element name="c_line_text" type="xsd:string" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        The text of the copyright notice indicating the owner of the copy rights of the album.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="c_line_year" type="xsd:nonNegativeInteger" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        The year of the copyright notice for this album.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="catalog_number" type="xsd:string" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        The label's unique identifier for the release.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="contract" maxOccurs="1" minOccurs="1">
               <xsd:annotation>
                    <xsd:documentation>
                        Element that describes the contractual agreements this release is governed by.
                    </xsd:documentation>
               </xsd:annotation>
               <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="id" type="xsd:long" maxOccurs="1" minOccurs="1">
                            <xsd:annotation>
                                <xsd:documentation>
                                    A unique identifier assigned to the contract by FUGA.
                                </xsd:documentation>
                            </xsd:annotation>
                        </xsd:element>
                        <xsd:element name="effective_from_date" type="xsd:date" maxOccurs="1" minOccurs="1">
                            <xsd:annotation>
                                <xsd:documentation>
                                    The date from which the contract became effective.
                                </xsd:documentation>
                            </xsd:annotation>
                        </xsd:element>
                        <xsd:element name="effective_through_date" type="xsd:date" maxOccurs="1" minOccurs="0">
                            <xsd:annotation>
                                <xsd:documentation>
                                    The date through which releases can be distributed under this contract. 
                                    If this element is not included, the contract is valid indefinitely. 
                                    As of the effective_through date - if the release is not governed by any other contract -  
                                    the release must be removed from the website and consumers must not be allowed to purchase this release anymore.
                                </xsd:documentation>
                            </xsd:annotation>
                        </xsd:element>
                        <xsd:element name="supplier" maxOccurs="1" minOccurs="1">
                           <xsd:complexType>
                               <xsd:annotation>
                                   <xsd:documentation>
                                       The name of the organization that provides the release.
                                   </xsd:documentation>
                               </xsd:annotation>                        
                                    <xsd:all>                           
                                        <xsd:element name="id" type="xsd:long" minOccurs="1" maxOccurs="1">
                                            <xsd:annotation>
                                                <xsd:documentation>Unique identifier for the organization assigned by FUGA.</xsd:documentation>
                                            </xsd:annotation>
                                        </xsd:element>
                                        <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1">
                                            <xsd:annotation>
                                                <xsd:documentation>The organization's name.</xsd:documentation>
                                            </xsd:annotation>
                                        </xsd:element>
                                        <xsd:element name="reference" type="xsd:string" maxOccurs="1" minOccurs="0">
                                            <xsd:annotation>
                                                <xsd:documentation>
                                                    This reference code is typically generated by the DSP to identify a FUGA delivery for a given content provider. The reference will be set upon the DSP's request.
                                                </xsd:documentation>
                                            </xsd:annotation>
                                        </xsd:element>
                                    </xsd:all>
                           </xsd:complexType>
                        </xsd:element>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="cover_art" maxOccurs="1" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>
                        An element containing details about the artwork of this album.											
						Not present when action is "metadata_only" or "delete" since in such cases the cover art is not delivered.
                    </xsd:documentation>
                </xsd:annotation>
                <xsd:complexType>
                    <xsd:all>
                        <xsd:element name="image" maxOccurs="1" minOccurs="1">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element name="color_model" maxOccurs="1" minOccurs="0">
                                <xsd:annotation>
                                    <xsd:documentation>
                                        The color model used for this image. Values must be RGB or CMYK. Default is RGB.
                                    </xsd:documentation>
                                </xsd:annotation>
                                <xsd:simpleType>
                                    <xsd:restriction base="xsd:string">
                                        <xsd:enumeration value="RGB"></xsd:enumeration>
                                        <xsd:enumeration value="CMYK"></xsd:enumeration>
                                    </xsd:restriction>
                                </xsd:simpleType>
                            </xsd:element>
                            <xsd:element name="width" type="xsd:nonNegativeInteger" maxOccurs="1" minOccurs="0">
                                <xsd:annotation>
                                    <xsd:documentation>
                                        The image width in pixels.
                                    </xsd:documentation>
                                </xsd:annotation></xsd:element>
                            <xsd:element name="height" type="xsd:nonNegativeInteger" maxOccurs="1" minOccurs="0">
                                <xsd:annotation>
                                    <xsd:documentation>
                                        The image height in pixels.
                                    </xsd:documentation>
                                </xsd:annotation></xsd:element>
                            <xsd:element name="file_format" maxOccurs="1" minOccurs="0">
                                <xsd:annotation>
                                    <xsd:documentation>
                                        The file format of this file. Value must be on
                                        of JPEG, PNG, GIF, TIFF, BMP. Default is JPEG.
                                    </xsd:documentation>
                                </xsd:annotation>
                                <xsd:simpleType>
                                    <xsd:restriction base="xsd:string">
                                        <xsd:enumeration value="JPEG"></xsd:enumeration>
                                        <xsd:enumeration value="PNG"></xsd:enumeration>
                                        <xsd:enumeration value="GIF"></xsd:enumeration>
                                        <xsd:enumeration value="TIFF"></xsd:enumeration>
                                        <xsd:enumeration value="BMP"></xsd:enumeration>
                                    </xsd:restriction>
                                </xsd:simpleType>
                            </xsd:element>
                            <xsd:element name="file" type="file_type" maxOccurs="1" minOccurs="1"/>
                        </xsd:sequence>
                    </xsd:complexType>                  
                </xsd:element>
                    </xsd:all>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="consumer_release_date" type="xsd:date" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        The date the release may be sold to the public.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="exclusive_for" type="xsd:nonNegativeInteger" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                       Number of days for which no other party is allowed to publish the release.
 						For example, if the consumer_release_date is 2008-10-10 and exclusive_for is 10,
						you are the only party who is allowed to sell this release in the period from 2008-10-10
						to 2008-10-20. 
						After 2008-10-20 you can still sell this release, but you don't hold it exclusively anymore.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="display_artist" type="xsd:string" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        The name of the artist to display to consumers.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="id" type="xsd:long" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        A unique identifier assigned to the release by FUGA.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="label" type="xsd:string" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        The Label that put out the release.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="main_genre" type="genre_type" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        Main genre associated with the album.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="main_subgenre" type="xsd:string" maxOccurs="1" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>
                        Additional qualifier to the main genre. There is no definite list for the values; they are defined by the content provider.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="name" type="xsd:string" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        The title of the album.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="p_line_text" type="xsd:string" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        The text indicating the owner of the publishing rights.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="p_line_year" type="xsd:nonNegativeInteger" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        The year of the publishing rights of this release.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="parental_advisory" type="xsd:boolean" maxOccurs="1" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>
                        Set to 'true' if the album has sensitive content.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="primary_artist" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        An element containing details of the primary artist for this album.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="recording_year" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>
                        The year this albums has been recorded.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="recording_location" maxOccurs="1" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>
                        The location where this album has been recorded.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="release_format_type" maxOccurs="1" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>
                        The format of the digital recording.
                    </xsd:documentation>
                </xsd:annotation>
                <xsd:simpleType>
                    <xsd:restriction base="xsd:string">
                        <xsd:enumeration value="ALBUM"></xsd:enumeration>
                        <xsd:enumeration value="SINGLE"></xsd:enumeration>
                        <xsd:enumeration value="EP"></xsd:enumeration>
                        <xsd:enumeration value="BOXSET"></xsd:enumeration>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="release_version" type="xsd:string" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>
                        Special information about the release, for
                        example information about the exclusivity, territory
                        or pre-release version information.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="territories" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        A Composite containing the information about the
                        territories a release is licensed for.
                    </xsd:documentation>
                </xsd:annotation>
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="territory" type="iso3166a2:territory_code" maxOccurs="unbounded" minOccurs="0">
                            <xsd:annotation>
                                <xsd:documentation>
                                    A Territory in which the release is licensed
                                    for (represented by an ISO 3166-1 territory
                                    code).
                                </xsd:documentation>
                            </xsd:annotation>
                        </xsd:element>
                    </xsd:sequence>
                </xsd:complexType>              
            </xsd:element>
            <xsd:element name="total_discs" type="xsd:nonNegativeInteger" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        Number of discs this album consists of.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="total_play_time"
                type="xsd:nonNegativeInteger" maxOccurs="1" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>
                        The total play time in seconds of this album.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="tracks" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        The list of the tracks belonging to this album.
                    </xsd:documentation>
                </xsd:annotation>
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="track" maxOccurs="unbounded">
                        <xsd:complexType>
                            <xsd:annotation>
                                <xsd:documentation>Element describing one track of an album.</xsd:documentation>
                            </xsd:annotation>
                            <xsd:all>
                                <xsd:element name="alternate_genre" type="genre_type" maxOccurs="1" minOccurs="0">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            Alternate genre associated with the track.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element name="alternate_subgenre" type="xsd:string" maxOccurs="1" minOccurs="0">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            Additional qualifier to alternate genre of the track. There is no definite list for the values; they are defined by the content provider.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element name="available_separately" type="xsd:boolean" maxOccurs="1" minOccurs="1">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            Set to 'true' if and only if the track may be sold as a single.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element name="contributors" minOccurs="0">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            List of contributing artists of this track.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                    <xsd:complexType>
                                        <xsd:sequence>
                                            <xsd:element name="contributor" minOccurs="1" maxOccurs="unbounded">
                                                <xsd:complexType>
                                                    <xsd:all>
                                                        <xsd:element name="name" type="xsd:string">
                                                            <xsd:annotation>
                                                                <xsd:documentation>The contributor's name.</xsd:documentation>
                                                            </xsd:annotation>
                                                        </xsd:element>
                                                        <xsd:element name="role">
                                                            <xsd:annotation>
                                                                <xsd:documentation>The contributor's role.</xsd:documentation>
                                                            </xsd:annotation>
                                                            <xsd:simpleType>
                                                                <xsd:restriction base="xsd:string">
                                                                    <xsd:enumeration value="Arranger"></xsd:enumeration>
                                                                    <xsd:enumeration value="Choir"></xsd:enumeration>
                                                                    <xsd:enumeration value="Composer"></xsd:enumeration>
                                                                    <xsd:enumeration value="Conductor"></xsd:enumeration>
                                                                    <xsd:enumeration value="Contributing Artist"></xsd:enumeration>
                                                                    <xsd:enumeration value="Engineer"></xsd:enumeration>
                                                                    <xsd:enumeration value="Ensemble"></xsd:enumeration>
                                                                    <xsd:enumeration value="Featuring"></xsd:enumeration>
                                                                    <xsd:enumeration value="Lyricist"></xsd:enumeration>
                                                                    <xsd:enumeration value="Mixer"></xsd:enumeration>
                                                                    <xsd:enumeration value="Orchestra"></xsd:enumeration>
                                                                    <xsd:enumeration value="Performer"></xsd:enumeration>
                                                                    <xsd:enumeration value="Producer"></xsd:enumeration>
                                                                    <xsd:enumeration value="Remixer"></xsd:enumeration>
                                                                    <xsd:enumeration value="Soloist"></xsd:enumeration>
                                                                    <xsd:enumeration value="Writer"></xsd:enumeration>
                                                                </xsd:restriction>
                                                             </xsd:simpleType>
                                                        </xsd:element>
                                                    </xsd:all>
                                                </xsd:complexType>
                                            </xsd:element>
                                        </xsd:sequence>
                                    </xsd:complexType>
                                </xsd:element>
                                <xsd:element name="display_artist" type="xsd:string" maxOccurs="1" minOccurs="1">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            The name of the artist of this track to be displayed to consumers.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element name="duration"
                                    type="xsd:nonNegativeInteger" maxOccurs="1" minOccurs="1">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            The duration in seconds of the track.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element name="id" type="xsd:long" maxOccurs="1" minOccurs="1">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            Unique identifier for the track assigned by FUGA.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element name="isrc_code" maxOccurs="1" minOccurs="1">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            The unique ISRC code assigned to the track.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                    <xsd:simpleType>
                                        <xsd:restriction base="xsd:string">
                                            <xsd:pattern value="[A-Z]{2}[A-Z0-9]{3}[0-9]{7}"/>
                                        </xsd:restriction>
                                    </xsd:simpleType>
                                </xsd:element>
                                <xsd:element name="lyrics" type="xsd:string" maxOccurs="1" minOccurs="0">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            Multi-line lyrics.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element name="main_genre" type="genre_type" maxOccurs="1" minOccurs="1">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            Main genre of the track.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element name="main_subgenre" type="xsd:string" maxOccurs="1" minOccurs="0">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            An additional qualifier to main genre of the track. There is no definite list for the values; they are defined by the content provider.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element name="name" type="xsd:string" maxOccurs="1" minOccurs="1">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            The title of the track.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element name="on_disc" type="xsd:nonNegativeInteger" maxOccurs="1" minOccurs="1">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            Indicates on which disc this track is located on.
                                        </xsd:documentation>
                                    </xsd:annotation></xsd:element>
                                <xsd:element name="parental_advisory" type="xsd:boolean" maxOccurs="1" minOccurs="1">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            Set to 'true' if the track contains sensitive content.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element name="preview_length"
                                    type="xsd:nonNegativeInteger" maxOccurs="1" minOccurs="0">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            The duration of the preview given in seconds.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element name="preview_start"
                                    type="xsd:nonNegativeInteger" maxOccurs="1" minOccurs="0">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            The number of seconds into the track at which to
                                            start the preview.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element ref="primary_artist" maxOccurs="1" minOccurs="1">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            Details of the primary artist for this track.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element name="publishers" maxOccurs="1" minOccurs="0">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            List of publishers of this track.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                    <xsd:complexType>
                                        <xsd:sequence minOccurs="0">
                                            <xsd:element name="publisher" maxOccurs="unbounded">
                                                <xsd:complexType>
                                                    <xsd:all>
                                                        <xsd:element name="publisher_name" type="xsd:string" minOccurs="0">
                                                            <xsd:annotation>
                                                                <xsd:documentation>The publisher's legal name.</xsd:documentation>
                                                            </xsd:annotation>
                                                        </xsd:element>
                                                        <xsd:element name="writer_name" type="xsd:string" minOccurs="0">
                                                            <xsd:annotation>
                                                                <xsd:documentation>The writer's legal name.</xsd:documentation>
                                                            </xsd:annotation>
                                                        </xsd:element>
                                                    </xsd:all>
                                                </xsd:complexType>                              
                                            </xsd:element>
                                        </xsd:sequence>
                                    </xsd:complexType>
                                </xsd:element>
                                <xsd:element ref="recording_year" minOccurs="0">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            The recording year for the track.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element ref="recording_location" maxOccurs="1" minOccurs="0">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            The recording location for the track.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element ref="resources" maxOccurs="1" minOccurs="0">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            A complex type describing physical resources made during a FUGA delivery. 
											Not present when action is "metadata_only" or "delete" since in such cases no files other than the XML is delivered.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element name="sequence_number"
                                    type="xsd:nonNegativeInteger" maxOccurs="1" minOccurs="1">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            The sequence number of the track within the album.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element name="track_notes" type="xsd:string" maxOccurs="1" minOccurs="0">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            Multi-line description of the track.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                                <xsd:element name="track_version" type="xsd:string" maxOccurs="1" minOccurs="0">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            The version of the track when released in more
                                            than one version. For example, Dance Mix or
                                            Radio Edit.
                                        </xsd:documentation>
                                    </xsd:annotation>
                                </xsd:element>
                            </xsd:all>
                        </xsd:complexType>
                    </xsd:element>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="upc_code" type="xsd:string" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        The UPC or EAN code assigned to the album.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:all>
        <xsd:attribute name="noNamespaceSchemaLocation" type="xsd:string" />
    </xsd:complexType>
    </xsd:element>

<!-- Type definitions follow -->    

    <xsd:element name="primary_artist">
        <xsd:complexType>
            <xsd:annotation>
                <xsd:documentation>Details of an artist.</xsd:documentation>
            </xsd:annotation>
            <xsd:all>
                <xsd:element name="biography" type="xsd:string">
                    <xsd:annotation>
                        <xsd:documentation>Multi-line text describing the artist.</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
                <xsd:element name="description" type="xsd:string">
                    <xsd:annotation>
                        <xsd:documentation>Additional information about the artist.</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
                <xsd:element name="id" type="xsd:long">
                    <xsd:annotation>
                        <xsd:documentation>Unique identifier for the artist assigned by FUGA.</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
                <xsd:element name="name" type="xsd:string">
                    <xsd:annotation>
                        <xsd:documentation>The artist's name.</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
                <xsd:element name="website" type="xsd:string">
                    <xsd:annotation>
                        <xsd:documentation>A consumer oriented website related to the artist.</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
            </xsd:all>
        </xsd:complexType>
    </xsd:element>
    <xsd:simpleType name="genre_type">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Alternative"></xsd:enumeration>
            <xsd:enumeration value="Audiobooks"></xsd:enumeration>
            <xsd:enumeration value="Blues"></xsd:enumeration>
            <xsd:enumeration value="Children's Music"></xsd:enumeration>
            <xsd:enumeration value="Classical"></xsd:enumeration>
            <xsd:enumeration value="Comedy"></xsd:enumeration>
            <xsd:enumeration value="Country"></xsd:enumeration>
            <xsd:enumeration value="Dance"></xsd:enumeration>
            <xsd:enumeration value="Electronic"></xsd:enumeration>
            <xsd:enumeration value="Folk"></xsd:enumeration>
            <xsd:enumeration value="Hip Hop/Rap"></xsd:enumeration>
            <xsd:enumeration value="Holiday"></xsd:enumeration>
            <xsd:enumeration value="Inspirational"></xsd:enumeration>
            <xsd:enumeration value="Jazz"></xsd:enumeration>
            <xsd:enumeration value="Latin"></xsd:enumeration>
            <xsd:enumeration value="New Age"></xsd:enumeration>
            <xsd:enumeration value="Opera"></xsd:enumeration>
            <xsd:enumeration value="Pop"></xsd:enumeration>
            <xsd:enumeration value="Rock"></xsd:enumeration>
            <xsd:enumeration value="R&amp;B/Soul"></xsd:enumeration>
            <xsd:enumeration value="Reggae"></xsd:enumeration>
            <xsd:enumeration value="Soundtrack"></xsd:enumeration>
            <xsd:enumeration value="Spoken Word"></xsd:enumeration>
            <xsd:enumeration value="Vocal"></xsd:enumeration>
            <xsd:enumeration value="World"></xsd:enumeration>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:element name="recording_year" type="xsd:integer">
        <xsd:annotation>
            <xsd:documentation>The definition of a recording year.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="recording_location" type="xsd:string">
        <xsd:annotation>
            <xsd:documentation>The definition of a recording location.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="resources">
        <xsd:annotation>
            <xsd:documentation>
                A complex type describing physical resources made during a FUGA delivery.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence maxOccurs="unbounded" minOccurs="0">
                <xsd:element name="audio" maxOccurs="unbounded" minOccurs="0">
                    <xsd:complexType>
                        <xsd:annotation>
                            <xsd:documentation>Details of an audio file.</xsd:documentation>
                        </xsd:annotation>
                        <xsd:sequence>
                            <xsd:element name="recording_type" maxOccurs="1" minOccurs="1">
                                <xsd:annotation>
                                    <xsd:documentation>
                                        "full" denotes a full track recording and "preview" denotes a track preview (short) recording.
                                    </xsd:documentation>
                                </xsd:annotation>
                                <xsd:simpleType>
                                    <xsd:restriction base="xsd:string">
                                        <xsd:enumeration value="full"></xsd:enumeration>
                                        <xsd:enumeration value="preview"></xsd:enumeration>
                                    </xsd:restriction>
                                </xsd:simpleType>
                            </xsd:element>
                            <xsd:element name="duration" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1">
                                <xsd:annotation>
                                    <xsd:documentation>
                                        The duration in seconds of the recording. May
                                        differ from track duration if this is a preview
                                        recording.
                                    </xsd:documentation>
                                </xsd:annotation>
                            </xsd:element>
                            <xsd:element name="file" type="file_type" maxOccurs="1" minOccurs="1"/>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>            
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:complexType name="file_type">
        <xsd:annotation>
            <xsd:documentation>
                Details of a physical file.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence maxOccurs="1" minOccurs="1">
            <xsd:element name="path" type="xsd:string" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        This is the absolute path where the file can be
                        found starting from the FTP root directory of a
                        FUGA delivery. It does not contain the file name
                        itself.
                    </xsd:documentation>
                </xsd:annotation></xsd:element>
            <xsd:element name="name" type="xsd:string" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        This is the file name.
                    </xsd:documentation>
                </xsd:annotation></xsd:element>
            <xsd:element name="crc32_checksum" type="xsd:string" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        A CRC32 checksum so the receiver of the file can
                        verify that the file is unchanged after network
                        transfer.
                    </xsd:documentation>
                </xsd:annotation></xsd:element>
            <xsd:element name="size" type="xsd:unsignedLong" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        The size in bytes of the file.
                    </xsd:documentation>
                </xsd:annotation></xsd:element>
        </xsd:sequence>
    </xsd:complexType>

</xsd:schema>

