<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/02/xpath-functions"
    xmlns:idea="http://www.ideadistributors.com/idea/xsl" exclude-result-prefixes="#all">
    <xsl:include href="idea-functions.xsl"/>
    <xsl:include href="mapping/spiralfrog-mapping.xsl"/>
    
    <xsl:template match="album">
        <xsl:variable name="upc" select="upc"/>
        <Manifest Version="1.0.3">
            <Label>
                <xsl:attribute name="Name">
                    <xsl:value-of select="label"/>
                </xsl:attribute>
                <Album>
                    <xsl:attribute name="LabelName">
                        <xsl:value-of select="label"/>
                    </xsl:attribute>
                    <xsl:attribute name="UPC">
                        <xsl:value-of select="$upc"/>
                    </xsl:attribute>
                    <xsl:attribute name="VolumeCount">
                        <xsl:value-of select="count(volume)"/>
                    </xsl:attribute>
                    <xsl:attribute name="AlbumTrackCount">
                        <xsl:value-of select="count(volume/track)"/>
                    </xsl:attribute>
                    <xsl:attribute name="ArtistName">
                        <xsl:value-of select="display-artist"/>
                    </xsl:attribute>
                    <xsl:attribute name="AlbumName">
                        <xsl:value-of select="title"/>
                    </xsl:attribute>
                    <xsl:attribute name="AlbumReleaseDate">
                        <xsl:value-of select="idea:createFriendlyDateMonthDayYear(release-date)"/>
                    </xsl:attribute>
                    <xsl:attribute name="AlbumGenre">
                        <xsl:value-of select="idea:mapGenre(genre[position()=1])"/>
                    </xsl:attribute>
                    <xsl:attribute name="AlbumExplicitContent">
                        <xsl:choose>
                            <xsl:when test="compare(@is-explicit,'explicit') = 0">True</xsl:when>
                            <xsl:otherwise>False</xsl:otherwise>
                        </xsl:choose>
                    </xsl:attribute>
                    <ImageItem Action="Insert" ImageType="CoverArt">
                        <xsl:attribute name="FileName">
                            <xsl:value-of select="image-filename"/>
                        </xsl:attribute>
                    </ImageItem>
                    <MediaItems>
                        <xsl:for-each select="volume">
                            <xsl:variable name="volume" select="@id"/>
                            <xsl:for-each select="track">
                                <MediaItem Action="Insert">
                                    <xsl:attribute name="FileName">
                                        <xsl:value-of select="audio-filename"/>
                                    </xsl:attribute>
                                    <xsl:attribute name="Title">
                                        <xsl:value-of select="title"/>
                                    </xsl:attribute>
                                    <xsl:attribute name="TrackNumber">
                                        <xsl:value-of select="sequence"/>
                                    </xsl:attribute>
                                    <xsl:attribute name="VolumeNumber">
                                        <xsl:value-of select="$volume"/>
                                    </xsl:attribute>
                                    <xsl:attribute name="TrackLength">
                                        <xsl:variable name="duration" select="idea:createFriendlyMinutesAndSeconds(length)"/>
                                        <xsl:choose>
                                            <xsl:when test="string-length(xs:string($duration)) = 4">00:0<xsl:value-of select="$duration"/></xsl:when>
                                            <xsl:otherwise>00:<xsl:value-of select="$duration"/></xsl:otherwise>
                                        </xsl:choose>
                                    </xsl:attribute>
                                    <xsl:attribute name="ArtistName">
                                        <xsl:value-of select="display-artist"/>
                                    </xsl:attribute>
                                    <xsl:attribute name="ISRC">
                                        <xsl:value-of select="isrc"/>
                                    </xsl:attribute>
                                    <xsl:attribute name="Genre">
                                        <xsl:value-of select="idea:mapGenre(genre[position()=1])"/>
                                    </xsl:attribute>
                                    <xsl:attribute name="Copyright">
                                        <xsl:value-of select="pline"/>
                                    </xsl:attribute>
                                    <xsl:attribute name="ExplicitContent">
                                        <xsl:choose>
                                            <xsl:when test="compare(@is-explicit,'explicit') = 0">True</xsl:when>
                                            <xsl:otherwise>False</xsl:otherwise>
                                        </xsl:choose>
                                    </xsl:attribute>
                                    <xsl:attribute name="ContentType">Audio</xsl:attribute>
                                    <Composers/>
                                    <Writers/>
                                </MediaItem>
                            </xsl:for-each>
                        </xsl:for-each>
                    </MediaItems>
                </Album>
            </Label>
        </Manifest>
    </xsl:template>
</xsl:stylesheet>
