<?xml version="1.0" encoding="UTF-8"?>
<!--
<xs:schema elementFormDefault="qualified" version="1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0">
-->
<xs:schema 
  elementFormDefault="qualified"
  version="1.1"
  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
  targetNamespace = "http://java.sun.com/xml/ns/jaxb"
  xmlns:jaxb = "http://java.sun.com/xml/ns/jaxb" 
  jaxb:version="2.0" 
>
	<xs:annotation>
		<xs:appinfo>
			<jaxb:globalBindings generateIsSetMethod="true"/>
			<jaxb:schemaBindings>
				<jaxb:package name="vidzone.ingestion.entities.stdingestion.gen"/>
      			</jaxb:schemaBindings>
    		</xs:appinfo>
  	</xs:annotation>


	<xs:element name="Metadata">
		<xs:complexType>
            <xs:annotation>
            	<xs:documentation>This is the root node for the VidZone metadata recommended ingestion standard.  
            					A metadata drop may contain any or all of the following.
								Product's (Typically containing a collection of AudioTracks or Videos)
								Video's (Single Video drops)
								RealTone's (Single Realtone drops)
</xs:documentation>
            </xs:annotation>
            <xs:sequence>
				<xs:element name="DataAction" type="DataAction" minOccurs="0" maxOccurs="1"/>
				<xs:element name="IngestionReference" type="xs:string" minOccurs="0" maxOccurs="1"/>
				<xs:element name="GenerationDate" type="xs:date" minOccurs="0" maxOccurs="1"/>
				<xs:element ref="Product" minOccurs="0"	maxOccurs="unbounded" />
				<xs:element ref="Video" minOccurs="0" maxOccurs="unbounded" />
				<xs:element ref="RealTone" minOccurs="0" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	
	<xs:element name="Product">
	<xs:complexType>
		<xs:annotation>
			<xs:documentation>
				Complex type defining a supplied product, a product may contain refs to
				AudioTrack's, MusicVideo's, Vidtone's, Realtone's in any combination. 
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="IngestionId" type="xs:string" minOccurs="1"
				maxOccurs="1" />
			<xs:element name="ProductArtistName" type="Artist"
				minOccurs="1" maxOccurs="unbounded" />
			<xs:element name="ProductTitle" type="xs:string"
				minOccurs="1" maxOccurs="1" />
			<xs:element name="ProductVersion" type="xs:string"
				minOccurs="0" maxOccurs="1" />
			<xs:element name="Catalogue" type="xs:string"
				minOccurs="0" maxOccurs="1" />
			<xs:element name="Supplier" type="xs:string" minOccurs="1"
				maxOccurs="1" />
			<xs:element name="ProductDuration" type="Duration"
				minOccurs="0" maxOccurs="1" />
			<xs:element name="UPC" type="UPC" minOccurs="1"
				maxOccurs="1" />
			<!-- A list of images for this product.  This is mandatory because we need a product level packshot
			     for audio products.-->
			<xs:element name="ProductImages" type="ImageFile"
				minOccurs="1" maxOccurs="unbounded" />
			<xs:element name="TotalDiscs" type="xs:int" minOccurs="0"
				maxOccurs="1" />
			<xs:element name="NumOfTracks" type="xs:int" minOccurs="0"
				maxOccurs="1" />
			<xs:element name="ProductType" type="ProductType"
				minOccurs="0" maxOccurs="1" />
			<xs:element name="Censorship" type="CensorRating"
				minOccurs="0" maxOccurs="1" />
			<xs:element ref="AudioTrack" minOccurs="0"
				maxOccurs="unbounded" />
			<xs:element ref="Video" minOccurs="0"
				maxOccurs="unbounded" />
			<xs:element name="Label" type="xs:string" maxOccurs="1"	minOccurs="1" />
			<xs:element name="OriginalReleaseDate" type="xs:date" 
				minOccurs="1"
				maxOccurs="1" />
			<!-- Product level contributions are optional -->
			<xs:element name="Contributions" type="Contributor" 
				minOccurs="0"
				maxOccurs="unbounded" />
			<xs:element name="Genre" type="xs:string" maxOccurs="unbounded" minOccurs="0" />
			<xs:element name="SupplierProductId" type="xs:string" minOccurs="0"
				maxOccurs="1" />
		</xs:sequence>
	</xs:complexType>
	</xs:element>
	
	<xs:element name="AudioTrack">
	<xs:complexType>
		<xs:annotation>
			<xs:documentation>
				Complex type defining the AudioTrack supplied, mandatory fields include: 
					IngestionId, Artist, Title, Supplier, Genre, Duration, ISRC
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="IngestionId" type="xs:string" minOccurs="1"
				maxOccurs="1" />
			<xs:element name="Artist" type="Artist" minOccurs="1"
				maxOccurs="unbounded" />
			<xs:element name="Title" type="xs:string" minOccurs="1"
				maxOccurs="1" />
			<xs:element name="Supplier" type="xs:string" minOccurs="1"
				maxOccurs="1" />
			<xs:element name="Genre" type="xs:string" minOccurs="1"
				maxOccurs="unbounded" />
			<xs:element name="SubGenre" type="xs:string" minOccurs="0"
				maxOccurs="1" />
			<xs:element name="AudioTrackDuration" type="Duration"
				minOccurs="1" maxOccurs="1" />
			<xs:element name="ISRC" type="ISRC" minOccurs="1"
				maxOccurs="1" />
			<xs:element name="AudioTrackFiles" type="AudioFile"
				minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="AudioTrackSampleFiles" type="AudioFile"
				minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="AudioTrackImages" type="ImageFile"
				minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="DiscNumber" type="xs:int" minOccurs="0"
				maxOccurs="1" />
			<xs:element name="TrackNumber" type="xs:int" minOccurs="0"
				maxOccurs="1" />
			<xs:element name="Censorship" type="CensorRating"
				minOccurs="0" maxOccurs="1" />
			<xs:element name="ProductType" type="ProductType"
				minOccurs="0" maxOccurs="1" />
			<xs:element name="GRID" type="xs:string" maxOccurs="1"
				minOccurs="0">
			</xs:element>
			<xs:element name="TerritoryRights" type="TerritoryRights"
				minOccurs="1" maxOccurs="1" />
			<xs:element name="Label" type="xs:string" maxOccurs="1"
				minOccurs="1" />
			<xs:element name="PLine" type="PLine" minOccurs="1"
				maxOccurs="1" />
			<xs:element name="CLine" type="CLine" minOccurs="1"
				maxOccurs="1" />
			<!-- This is mandatory for a product -->	
			<xs:element name="OriginalReleaseDate" type="xs:date" minOccurs="1"
				maxOccurs="1" />
			<xs:element name="Contributions" type="Contributor" minOccurs="0" 
				maxOccurs="unbounded" />
			<xs:element name="HiddenTrack" type="xs:boolean" default="false" minOccurs="0" maxOccurs="1"/>
			<xs:element name="BundleSale" type="xs:boolean" default="false" minOccurs="0" maxOccurs="1"/>
			<xs:element name="SupplierAudioTrackId" type="xs:string" minOccurs="0"
				maxOccurs="1" />
			<xs:element name="" type="xs:string" minOccurs="0"
				maxOccurs="1" />
		</xs:sequence>
	</xs:complexType>
	</xs:element>
	
	<xs:element name="Video">
	<xs:complexType>
		<xs:annotation>
			<xs:documentation>
				Complex type defining the Video supplied
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="IngestionId" type="xs:string" minOccurs="1"
				maxOccurs="1" />
			<xs:element name="Artist" type="Artist" minOccurs="1"
				maxOccurs="unbounded" />
			<xs:element name="Title" type="xs:string" minOccurs="1"
				maxOccurs="1" />
			<xs:element name="Supplier" type="xs:string" minOccurs="1"
				maxOccurs="1" />
			<xs:element name="Genre" type="xs:string" minOccurs="1"
				maxOccurs="unbounded" />
			<xs:element name="SubGenre" type="xs:string" minOccurs="0"
				maxOccurs="1" />
			<xs:element name="VideoDuration" type="Duration"
				minOccurs="1" maxOccurs="1" />
			<xs:element name="ISRC" type="ISRC" minOccurs="1"
				maxOccurs="1" />
			<xs:element name="VideoFiles" type="VideoFile" minOccurs="1"
				maxOccurs="unbounded" />
			<xs:element name="VideoSampleFiles" type="VideoFile"
				minOccurs="0" maxOccurs="unbounded" />
			<!-- A list of images for this video -->
			<xs:element name="VideoImages" type="ImageFile"
				minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="Review" type="xs:string" minOccurs="0"
				maxOccurs="1" />
			<xs:element name="Censorship" type="CensorRating"
				minOccurs="0" maxOccurs="1" />
			<xs:element name="GRID" type="xs:string" maxOccurs="1"
				minOccurs="0">
			</xs:element>
			<xs:element name="TerritoryRights" type="TerritoryRights"
				minOccurs="1" maxOccurs="1" />
			<xs:element name="Label" type="xs:string" maxOccurs="1"
				minOccurs="1">
			</xs:element>
			<xs:element name="PLine" type="PLine" minOccurs="0"
				maxOccurs="1" />
			<xs:element name="CLine" type="CLine" minOccurs="0"
				maxOccurs="1" />
			<xs:element name="Contributions" type="Contributor" minOccurs="0"
				maxOccurs="unbounded" />
			<xs:element name="SupplierVideoId" type="xs:string" minOccurs="0"
				maxOccurs="1" />
		</xs:sequence>
	</xs:complexType>
	</xs:element>
	
	<xs:element name="RealTone">
	<xs:complexType>
		<xs:annotation>
			<xs:documentation>
				Complex type defining the RealTone supplied
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="IngestionId" type="xs:string" minOccurs="1"
				maxOccurs="1" />
			<xs:element name="Artist" type="Artist" minOccurs="1"
				maxOccurs="unbounded" />
			<xs:element name="Title" type="xs:string" minOccurs="1"
				maxOccurs="1" />
			<xs:element name="Supplier" type="xs:string" minOccurs="1"
				maxOccurs="1" />
			<xs:element name="Genre" type="xs:string" minOccurs="0"
				maxOccurs="unbounded" />
			<xs:element name="SubGenre" type="xs:string" minOccurs="0"
				maxOccurs="1" />
			<xs:element name="RealToneDuration" type="Duration"
				minOccurs="0" maxOccurs="1" />
			<xs:element name="ISRC" type="ISRC" minOccurs="1"
				maxOccurs="1" />
			<xs:element name="RealToneFiles" type="AudioFile"
				minOccurs="1" maxOccurs="unbounded" />
			<xs:element name="RealToneSampleFiles" type="AudioFile"
				minOccurs="0" maxOccurs="unbounded" />
			<!-- A list of images for this realtone -->
			<xs:element name="RealToneImages" type="ImageFile"
				minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="Censorship" type="CensorRating"
				minOccurs="1" maxOccurs="1" />
			<xs:element name="GRID" type="xs:string" maxOccurs="1"
				minOccurs="0">
			</xs:element>
			<xs:element name="TerritoryRights" type="TerritoryRights"
				minOccurs="1" maxOccurs="1" />
			<xs:element name="Label" type="xs:string" maxOccurs="1"
				minOccurs="1">
			</xs:element>
			<xs:element name="PLine" type="PLine" minOccurs="0"
				maxOccurs="1" />
			<xs:element name="CLine" type="CLine" minOccurs="0"
				maxOccurs="1" />
			<xs:element name="OriginalReleaseDate" type="xs:date" minOccurs="0"
				maxOccurs="1" />
			<xs:element name="Contributions" type="Contributor" minOccurs="0"
				maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	</xs:element>
	<!-- section of Simple Types -->
	<xs:simpleType name="Duration">
		<xs:annotation>
			<xs:documentation>Time in milliseconds</xs:documentation>
		</xs:annotation>
			<xs:restriction base="xs:integer">
				<xs:minExclusive value="0"></xs:minExclusive>
			</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DataAction">
		<xs:annotation>
			<xs:documentation>The action that this data is to be performing</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="INSERT" />
			<xs:enumeration value="DELETE" />
			<xs:enumeration value="UPDATE" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ProductType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Album" />
			<xs:enumeration value="Single" />
			<xs:enumeration value="Compilation" />
			<xs:enumeration value="EP" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="CensorRatingMeasure">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Not Provided"/>
			<xs:enumeration value="None"/>
			<xs:enumeration value="Low"/>
			<xs:enumeration value="Medium"/>
			<xs:enumeration value="High"/>
			<xs:enumeration value="Extreme"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Country">
		<xs:annotation>
			<xs:documentation>
				2 digit country identifier code
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z]{2}" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ReleaseStartDate">
		<xs:annotation>
			<xs:documentation>
				The date the product should be made available for sale
			</xs:documentation>
		</xs:annotation>
			<xs:restriction base="xs:string">
				<xs:pattern value="\d{4}-\d{2}-\d{2}">
					<xs:annotation>
						<xs:documentation>
							Must be in the format YYYY-MM-DD
						</xs:documentation>
					</xs:annotation>
				</xs:pattern>
			</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ReleaseEndDate">
		<xs:annotation>
			<xs:documentation>
				The date this product should no longer be available for
				sale
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="\d{4}-\d{2}-\d{2}">
				<xs:annotation>
					<xs:documentation>
						Must be in the format YYYY-MM-DD
					</xs:documentation>
				</xs:annotation>
			</xs:pattern>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="ISRC">
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}\d{7}">
				<xs:annotation>
					<xs:documentation>
						The ISRC consists of twelve characters
						representing Country (2 characters),
						Registrant (3 characters), Year of Reference
						(2 digits) and Designation (5 digits).
						Extract from International Standard
						Recording Handbook, 2nd Edition, 2003
						(www.ifpi.org/isrc).
					</xs:documentation>
				</xs:annotation>
			</xs:pattern>
		</xs:restriction>
	</xs:simpleType>
	
	<xs:simpleType name = "UPC">
		<xs:annotation>
		<xs:documentation>
			Unique product identification code in UPC (or EAN)
		</xs:documentation>
	</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="\d{12,13}" />
		</xs:restriction>
	</xs:simpleType>
	
	<!-- End Simple Type section -->

	<!-- Section of complex Types -->
	<xs:complexType name="CLine">
		<xs:annotation>
			<xs:documentation>
				Element defining owner of the copyright.
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="CYear" type="xs:string" minOccurs="1" maxOccurs="1"/>
			<xs:element name="COwner" type="xs:string" minOccurs="1" maxOccurs="1"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PLine">
		<xs:annotation>
			<xs:documentation>
				Phonographic publisher information.
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="PYear" type="xs:string" minOccurs="1" maxOccurs="1"/>
			<xs:element name="POwner" type="xs:string" minOccurs="1" maxOccurs="1"/>
		</xs:sequence>
	</xs:complexType>		
	<xs:complexType name="Release">
	<xs:annotation>
		<xs:documentation>
			Complex type defining the territories and boundary dates
			for the asset supplied
		</xs:documentation>
	</xs:annotation>
		<xs:sequence>
			<xs:element name="Country" type="Country" minOccurs="1" maxOccurs="1"/>
			<xs:element name="ReleaseStartDate" type="ReleaseStartDate" minOccurs="1"
				maxOccurs="1"/>
			<xs:element name="ReleaseEndDate" type="ReleaseEndDate" minOccurs="0"
				maxOccurs="1"/>
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="TerritoryRights">
	<xs:annotation>
		<xs:documentation>A list of country releases.</xs:documentation>
	</xs:annotation>
		<xs:sequence>
			<xs:element name="CountryReleases" type="Release" maxOccurs="unbounded" minOccurs="1" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="CensorRating">
		<xs:annotation>
			<xs:documentation>Representation of a Censor Rating</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Violence" type="CensorRatingMeasure" minOccurs="1" maxOccurs="1"/>
			<xs:element name="Language" type="CensorRatingMeasure" minOccurs="1" maxOccurs="1"/>
			<xs:element name="AdultThemes" type="CensorRatingMeasure" minOccurs="1" maxOccurs="1"/>
			<xs:element name="DrugReferences" type="CensorRatingMeasure" minOccurs="1" maxOccurs="1"/>
			<xs:element name="Nudity" type="CensorRatingMeasure" minOccurs="1" maxOccurs="1"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ImageFile">
		<xs:annotation>
			<xs:documentation>
				Complex element defining the image file supplied with
				the asset
			</xs:documentation>
		</xs:annotation>
			<xs:sequence>
				<xs:element name="FileType" type="xs:string" minOccurs="1" maxOccurs="1" />
				<xs:element name="Width" type="xs:int" minOccurs="1" maxOccurs="1" />
				<xs:element name="Height" type="xs:int" minOccurs="1" maxOccurs="1" />
				<xs:element name="FileInfo" type="FileInfo" minOccurs="1" maxOccurs="1" />
			</xs:sequence>
			<xs:attribute name="type">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="TRACK"/>
						<xs:enumeration value="ARTIST"/>
						<xs:enumeration value="FRONT_COVER"/>
						<xs:enumeration value="BACK_COVER"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
	</xs:complexType>
	<xs:complexType name="AudioFile">
		<xs:annotation>
			<xs:documentation>
				This is a complex type to describe the required information for an AudioFile.
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="AudioFileInfo" type="FileInfo" minOccurs="1" maxOccurs="1"/>
			<xs:element name="AudioFileEncoding" type="AudioEncodingDetails" minOccurs="1" maxOccurs="1"/>
		</xs:sequence>
	</xs:complexType> 
	<xs:complexType name="VideoFile">
		<xs:annotation>
			<xs:documentation>
				This is a complex type to describe the required information for an VideoFile. A video file may contain details of the video encoding AND optionally the audio encoding.
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="VideoFileInfo" type="FileInfo" minOccurs="1" maxOccurs="1"/>
			<xs:element name="VideoFileEncoding" type="VideoEncodingDetails" minOccurs="1" maxOccurs="1"/>
			<xs:element name="AudioFileEncoding" type="AudioEncodingDetails" minOccurs="0" maxOccurs="1"/>
		</xs:sequence>
	</xs:complexType> 
	<xs:complexType name="FileInfo">
		<xs:annotation>
			<xs:documentation>
				Element describing the physical file (name, size)
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="FileName" type="xs:string" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>
						Filename including Extension
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="FileSize" type="xs:integer" minOccurs="1" maxOccurs="1" />
			<xs:element name="RelativePath" type="xs:string" maxOccurs="1" minOccurs="1">
				<xs:annotation>
					<xs:documentation>
						Relative to the XML file location, mandatory field so we can locate the file from the metadata.
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Checksum" type="xs:string" maxOccurs="1" minOccurs="0"></xs:element>
			<xs:element name="ChecksumType" type="xs:string" maxOccurs="1" minOccurs="0"></xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="AudioEncodingDetails">
		<xs:annotation>
			<xs:documentation>
				This complex type defines encoding details for a particular audio asset 
				(i.e track, VidTone, realtone, video)
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="BitRate" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="SampleRate" type="xs:int" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Multiple Sample Rates are possible inside one media File.  eg  for certain streaming types.</xs:documentation>
				</xs:annotation></xs:element>
			<xs:element name="NoOfChannels" type="xs:int" minOccurs="0" maxOccurs="1"/>
			<xs:element name="EncodingType" type="xs:string" minOccurs="0" maxOccurs="1"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="VideoEncodingDetails">
		<xs:annotation>
			<xs:documentation>
				This complex type defines encoding details for a particular video asset 
				(i.e VidTone, Music Video)
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="BitRate" type="xs:int" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Multiple Bitrates can be included inside 1 file, eg. Streaming Videos.</xs:documentation>
				</xs:annotation></xs:element>
			<xs:element name="FrameRate" type="xs:double" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Multiple Frame Rates may exist inside a single video file. e.g Streaming Video.</xs:documentation>
				</xs:annotation></xs:element>
			<xs:element name="Dimensions" type="xs:string" minOccurs="0" maxOccurs="1"/>
			<xs:element name="SubSamples" type="xs:string" minOccurs="0" maxOccurs="1" />
			<xs:element name="EncodingType" type="xs:string" minOccurs="0" maxOccurs="1"/>
		</xs:sequence>
	</xs:complexType>

    <xs:complexType name="Artist">
    	<xs:sequence>
    		<xs:element name="Name" type="xs:string" minOccurs="1" maxOccurs="1"></xs:element>
			<!-- Suggested artist roles are as follow :-

				 Primary Artist
				 And
				 Ft
				 Featuring
				 Vs
				 With
				 Versus
				 Remixed by
			-->
    		<xs:element name="ArtistRole" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
    	</xs:sequence>
    </xs:complexType>

    <xs:complexType name="Contributor">
    	<xs:sequence>
    		<xs:element name="Name" type="xs:string" minOccurs="1" maxOccurs="1"></xs:element>
    		<!-- Suggested artist roles are as follow :-

				 Composer 
				 Producer
				 Lyricist 
				 Engineer
			-->
    		<xs:element name="ContributorRole" type="xs:string" minOccurs="1" maxOccurs="1"></xs:element>
    	</xs:sequence>
    </xs:complexType>

	<!-- End section of Complex Types -->

</xs:schema>
