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

     The standard defined by the XML schema in this file is the property
     of IndependentIP BV. 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.1" 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="mobile_product">
        <xsd:complexType>
        <xsd:all>
            <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. This needs to be different from the main genre.
                    </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.
                    </xsd:documentation>
                </xsd:annotation>
            </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" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        The label's unique identifier for the release.
                    </xsd:documentation>
                </xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
					</xsd:restriction> 
				</xsd:simpleType>
            </xsd:element>
            <xsd:element name="supplier" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        Name of the supplier of this release
                    </xsd:documentation>
                </xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="1" />
					</xsd:restriction> 
				</xsd:simpleType>
            </xsd:element>
            <xsd:element name="cover_art" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        An element containing details about the artwork of this album.
                    </xsd:documentation>
                </xsd:annotation>
                <xsd:complexType>
                    <xsd:all>
                        <xsd:element name="image" maxOccurs="1" minOccurs="1">
                    <xsd:complexType>
                        <xsd:sequence>
                            <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="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.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
          <xsd:element name="display_artist" type="xsd:string" maxOccurs="1" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation>
                The display artist, only to be used for non-standard display artists like 'A vs. B'
              </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="catalog_tier" maxOccurs="1" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>
                      The catalog tier of the product
                    </xsd:documentation>
                </xsd:annotation>
              <xsd:simpleType>
                  <xsd:restriction base="xsd:string">
                      <xsd:enumeration value="BUDGET"></xsd:enumeration>
                      <xsd:enumeration value="BACK"></xsd:enumeration>
                      <xsd:enumeration value="MID"></xsd:enumeration>
                      <xsd:enumeration value="FRONT"></xsd:enumeration>
                      <xsd:enumeration value="PREMIUM"></xsd:enumeration>
                  </xsd:restriction>
              </xsd:simpleType>

            </xsd:element>
          <xsd:element name="original_release_date" type="xsd:date" maxOccurs="1" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation>
                The date the release was originally released to the public.
              </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 name="additional_artists" minOccurs="0" maxOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        An element containing any additional artists (primary or featuring).
                    </xsd:documentation>
                </xsd:annotation>
				<xsd:complexType>
                    <xsd:sequence>
                        <xsd:element ref="artist" maxOccurs="unbounded" />
            		</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
            <xsd:element ref="recording_year" minOccurs="0" maxOccurs="1">
                <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="1">
                <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="1">
                            <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="ringtones" 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="ringtone" 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. This needs to be different from the main genre.
                                        </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.
                                        </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="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.
                                        </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="additional_artists" minOccurs="0" maxOccurs="1">
					                <xsd:annotation>
					                    <xsd:documentation>
					                        An element containing any additional artists (primary or featuring).
					                    </xsd:documentation>
					                </xsd:annotation>
									<xsd:complexType>
					                    <xsd:sequence>
					                        <xsd:element ref="artist" maxOccurs="unbounded" />
					            		</xsd:sequence>
									</xsd:complexType>
								</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="1" maxOccurs="1">
                                                            <xsd:annotation>
                                                                <xsd:documentation>The publisher's legal name.</xsd:documentation>
                                                            </xsd:annotation>
                                                        </xsd:element>
                                                        <xsd:element name="writer_name" type="xsd:string" minOccurs="1" maxOccurs="1">
                                                            <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" maxOccurs="1">
                                    <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 name="rights_contract_begin_date" type="xsd:date" maxOccurs="1" minOccurs="0">
                                <xsd:annotation>
                                  <xsd:documentation>
                                    The date at which the rights to the track began.
                                  </xsd:documentation>
                                </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="rights_holder_name" type="xsd:string" maxOccurs="1" minOccurs="0">
                                <xsd:annotation>
                                  <xsd:documentation>
                                    The name of the party that exclusively control the rights to the track.
                                  </xsd:documentation>
                                </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="rights_ownership_name" type="xsd:string" maxOccurs="1" minOccurs="0">
                                <xsd:annotation>
                                  <xsd:documentation>
                                    The name of the party that own the rights to the track.
                                  </xsd:documentation>
                                </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="country_of_commissioning" type="xsd:string" maxOccurs="1" minOccurs="0">
                                <xsd:annotation>
                                  <xsd:documentation>
                                    The country in which the Original Copyright Owner (the party that made the recording of the track) is principally established.
                                  </xsd:documentation>
                                </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="country_of_recording" type="xsd:string" maxOccurs="1" minOccurs="0">
                                <xsd:annotation>
                                  <xsd:documentation>
                                    The name of the country the  track was recorded in.
                                  </xsd:documentation>
                                </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="p_line_text" type="xsd:string" maxOccurs="1" minOccurs="0">
                                <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="0">
                                <xsd:annotation>
                                  <xsd:documentation>
                                    The year of the publishing rights of this track.
                                  </xsd:documentation>
                                </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="catalog_tier" maxOccurs="1" minOccurs="0">
                                <xsd:annotation>
                                  <xsd:documentation>
                                    The catalog tier of the track
                                  </xsd:documentation>
                                </xsd:annotation>
                                <xsd:simpleType>
                                  <xsd:restriction base="xsd:string">
                                    <xsd:enumeration value="FREE"></xsd:enumeration>
                                    <xsd:enumeration value="BACK"></xsd:enumeration>
                                    <xsd:enumeration value="MID"></xsd:enumeration>
                                    <xsd:enumeration value="FRONT"></xsd:enumeration>
                                  </xsd:restriction>
                                </xsd:simpleType>

                              </xsd:element>
                                <xsd:element ref="resources" maxOccurs="1" minOccurs="1">
                                    <xsd:annotation>
                                        <xsd:documentation>
                                            A complex type describing physical resources made during a FUGA delivery.
                                        </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" maxOccurs="1" minOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>
                        The UPC or EAN code assigned to the album.
                    </xsd:documentation>
                </xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="12" />
						<xsd:maxLength value="13" />
					</xsd:restriction>
				</xsd:simpleType>
            </xsd:element>
        </xsd:all>
    </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" minOccurs="0">
                    <xsd:annotation>
                        <xsd:documentation>Multi-line text describing the artist.</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
                <xsd:element name="name">
                    <xsd:annotation>
                        <xsd:documentation>The artist's name.</xsd:documentation>
                    </xsd:annotation>
					<xsd:simpleType>
						<xsd:restriction base="xsd:string">
							<xsd:minLength value="1" />
						</xsd:restriction>
					</xsd:simpleType>
                </xsd:element>
                <xsd:element name="website" type="xsd:string" minOccurs="0">
                    <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:element name="artist">
        <xsd:complexType>
            <xsd:annotation>
                <xsd:documentation>Details of an artist.</xsd:documentation>
            </xsd:annotation>
            <xsd:all>
                <xsd:element name="biography" type="xsd:string" minOccurs="0">
                    <xsd:annotation>
                        <xsd:documentation>Multi-line text describing the artist.</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
                <xsd:element name="name">
                    <xsd:annotation>
                        <xsd:documentation>The artist's name.</xsd:documentation>
                    </xsd:annotation>
					<xsd:simpleType>
						<xsd:restriction base="xsd:string">
							<xsd:minLength value="1" />
						</xsd:restriction>
					</xsd:simpleType>
                </xsd:element>
                <xsd:element name="website" type="xsd:string" minOccurs="0">
                    <xsd:annotation>
                        <xsd:documentation>A consumer oriented website related to the artist.</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
				<xsd:element name="primary_artist" type="xsd:boolean" minOccurs="1" maxOccurs="1">
					<xsd:annotation>
                        <xsd:documentation>If set to 'true' this is a primary artist, featuring otherwise.</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">
        <xsd:annotation>
            <xsd:documentation>The definition of a recording year.</xsd:documentation>
        </xsd:annotation>
		<xsd:simpleType>
			<xsd:restriction base="xsd:integer">
				<xsd:totalDigits value="4" />
			</xsd:restriction>
		</xsd:simpleType>
    </xsd:element>
    <xsd:element name="recording_location">
		<xsd:annotation>
            <xsd:documentation>The definition of a recording location.</xsd:documentation>
        </xsd:annotation>
		<xsd:simpleType>
			<xsd:restriction base="xsd:string">
				<xsd:minLength value="1" />
			</xsd:restriction>
	    </xsd:simpleType>
    </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="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="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="0">
                <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>

