<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="text" />

	<xsl:variable name="allTracks" select="music_database/label/product/track" />
	<xsl:variable name="tab"><xsl:text>&#x09;</xsl:text></xsl:variable>
	<xsl:variable name="newLine"><xsl:text>&#xA;</xsl:text></xsl:variable>

	<xsl:template match="/">
		<xsl:text>album-name</xsl:text>
		<xsl:value-of select="$tab" />
		<xsl:text>album-artist</xsl:text>
		<xsl:value-of select="$tab" />		
		<xsl:text>label-name</xsl:text>
		<xsl:value-of select="$tab" />		
		<xsl:text>catalog-id</xsl:text>
		<xsl:value-of select="$tab" />		
		<xsl:text>upc</xsl:text>
		<xsl:value-of select="$tab" />		
		<xsl:text>album-id</xsl:text>
		<xsl:value-of select="$tab" />		
		<xsl:text>release-date</xsl:text>
		<xsl:value-of select="$tab" />
		<xsl:text>upc-alt</xsl:text>
		<xsl:value-of select="$tab" />
		<xsl:text>album-custom-1</xsl:text>		
		<xsl:value-of select="$tab" />
		<xsl:text>album-custom-2</xsl:text>
		<xsl:value-of select="$tab" />
		<xsl:text>album-custom-3</xsl:text>
		<xsl:value-of select="$tab" />					
		<xsl:text>track-name</xsl:text>
		<xsl:value-of select="$tab" />			
		<xsl:text>disc-no</xsl:text>
		<xsl:value-of select="$tab" />			
		<xsl:text>disc-name</xsl:text>
		<xsl:value-of select="$tab" />			
		<xsl:text>track-no</xsl:text>
		<xsl:value-of select="$tab" />			
		<xsl:text>track-minutes</xsl:text>
		<xsl:value-of select="$tab" />			
		<xsl:text>track-seconds</xsl:text>
		<xsl:value-of select="$tab" />			
		<xsl:text>track-artist</xsl:text>
		<xsl:value-of select="$tab" />			
		<xsl:text>isrc</xsl:text>
		<xsl:value-of select="$tab" />			
		<xsl:text>track-id</xsl:text>
		<xsl:value-of select="$tab" />			
		<xsl:text>genre</xsl:text>
		<xsl:value-of select="$tab" />
		<xsl:text>track-custom-1</xsl:text>			
		<xsl:value-of select="$tab" />
		<xsl:text>track-custom-2</xsl:text>
		<xsl:value-of select="$tab" />
		<xsl:text>track-custom-3</xsl:text>
		<xsl:value-of select="$newLine" />
		<xsl:for-each select="$allTracks"><xsl:call-template name="trackLine" /></xsl:for-each>
	</xsl:template>

	<xsl:template name="trackLine">
		<xsl:value-of select="../product_title" />
		<xsl:value-of select="$tab" />
		<xsl:value-of select="../artist/artist_name" />
		<xsl:value-of select="$tab" />
		<xsl:value-of select="label_imprint" />
		<xsl:value-of select="$tab" />	
		<xsl:value-of select="../cat_number" />
		<xsl:value-of select="$tab" />	
		<xsl:value-of select="../upc" />
		<xsl:value-of select="$tab" />			
		<xsl:value-of select="../cat_number" />-<xsl:value-of select="../product_disc_num" />
		<xsl:value-of select="$tab" />			
		<xsl:if test="normalize-space(../scheduled_release_date)"><xsl:value-of select="substring(../scheduled_release_date,4,2)" />-<xsl:value-of select="substring(../scheduled_release_date,1,2)" />-<xsl:value-of select="substring(../scheduled_release_date,7)" /></xsl:if>
		<xsl:value-of select="$tab" />
		<xsl:value-of select="$tab" />
		<xsl:value-of select="$tab" />
		<xsl:value-of select="$tab" />
		<xsl:value-of select="$tab" />
		<xsl:value-of select="track_title" />
		<xsl:value-of select="$tab" />
		<xsl:value-of select="../product_disc_num" />
		<xsl:value-of select="$tab" />
		<xsl:value-of select="$tab" />
		<xsl:value-of select="track_number" />
		<xsl:value-of select="$tab" />
		<xsl:value-of select="substring-before(duration,':')" />
		<xsl:value-of select="$tab" />		
		<xsl:value-of select="substring-after(duration,':')" />
		<xsl:value-of select="$tab" />	
		<xsl:value-of select="artist/artist_name" />
		<xsl:value-of select="$tab" />	
		<xsl:value-of select="isrc" />		
		<xsl:value-of select="$tab" />	
		<xsl:value-of select="track_key" />			
		<xsl:value-of select="$tab" />	
		<xsl:value-of select="genre_labeldef" />		
		<xsl:value-of select="$tab" />
		<xsl:value-of select="$tab" />
		<xsl:value-of select="$tab" />
    <xsl:value-of select="$newLine" />
	</xsl:template>

</xsl:stylesheet>
