<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">
    <!-- 
Primary
Composer
Conductor
Ensemble
Featured Performer
Guest Vocals
Guest Musician
Remixer
DJ
Producer
Collaborator
Engineer
 -->
    <xsl:function name="idea:mapRole">
        <xsl:param name="roleToMap"/>
        <xsl:choose>
            <xsl:when test="compare(upper-case($roleToMap), upper-case('Primary')) = 0">
                <xsl:value-of select="$roleToMap"/>
            </xsl:when>
            <xsl:when test="compare(upper-case($roleToMap), upper-case('Composer')) = 0">
                <xsl:value-of select="$roleToMap"/>
            </xsl:when>
            <xsl:when test="compare(upper-case($roleToMap), upper-case('Conductor')) = 0">
                <xsl:value-of select="$roleToMap"/>
            </xsl:when>
            <xsl:when test="compare(upper-case($roleToMap), upper-case('Ensemble')) = 0">
                <xsl:value-of select="$roleToMap"/>
            </xsl:when>
            <xsl:when test="compare(upper-case($roleToMap), upper-case('Featured Performer')) = 0">
                <xsl:value-of select="$roleToMap"/>
            </xsl:when>
            <xsl:when test="compare(upper-case($roleToMap), upper-case('Guest Vocals')) = 0">
                <xsl:value-of select="$roleToMap"/>
            </xsl:when>
            <xsl:when test="compare(upper-case($roleToMap), upper-case('Guest Musician')) = 0">
                <xsl:value-of select="$roleToMap"/>
            </xsl:when>
            <xsl:when test="compare(upper-case($roleToMap), upper-case('Remixer')) = 0">
                <xsl:value-of select="$roleToMap"/>
            </xsl:when>
            <xsl:when test="compare(upper-case($roleToMap), upper-case('DJ')) = 0">
                <xsl:value-of select="$roleToMap"/>
            </xsl:when>
            <xsl:when test="compare(upper-case($roleToMap), upper-case('Producer')) = 0">
                <xsl:value-of select="$roleToMap"/>
            </xsl:when>
            <xsl:when test="compare(upper-case($roleToMap), upper-case('Engineer')) = 0">
                <xsl:value-of select="$roleToMap"/>
            </xsl:when>
            <xsl:otherwise>
                <xsl:text>Collaborator</xsl:text>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:function>
    <xsl:function name="idea:mapGenre">
        <xsl:param name="genreToMap"/>

        <xsl:choose>
            <xsl:when test="compare($genreToMap, 'Alternative') = 0">
                <xsl:text>Alternative/Punk</xsl:text>
            </xsl:when>
            <xsl:when test="compare($genreToMap, 'Audiobooks') = 0">
                <xsl:text>Spoken Word</xsl:text>
            </xsl:when>
            <xsl:when test="compare($genreToMap, 'Children''s Music') = 0">
                <xsl:text>Children</xsl:text>
            </xsl:when>
            <xsl:when test="compare($genreToMap, 'Dance') = 0">
                <xsl:text>Electronica/Dance</xsl:text>
            </xsl:when>            
            <xsl:when test="compare($genreToMap, 'German Folk') = 0">
                <xsl:text>Folk</xsl:text>
            </xsl:when>
            <xsl:when test="compare($genreToMap, 'German Pop') = 0">
                <xsl:text>Pop</xsl:text>
            </xsl:when>
            <xsl:when test="compare($genreToMap, 'Hip Hop/Rap') = 0">
                <xsl:text>Rap/Hip-Hop</xsl:text>
            </xsl:when>
            <xsl:when test="compare($genreToMap, 'Holiday') = 0">
                <xsl:text>Holiday Music</xsl:text>
            </xsl:when>
            <xsl:when test="compare($genreToMap, 'Inspirational') = 0">
                <xsl:text>Christian/Gospel</xsl:text>
            </xsl:when>
            <xsl:when test="compare($genreToMap, 'R&amp;B/Soul') = 0">
                <xsl:text>Soul</xsl:text>
            </xsl:when>
            <xsl:when test="compare($genreToMap, 'Rock') = 0">
                <xsl:text>Rock/Pop</xsl:text>
            </xsl:when>
            <xsl:when test="compare($genreToMap, 'Soundtrack') = 0">
                <xsl:text>Soundtracks</xsl:text>
            </xsl:when>
            <xsl:when test="compare($genreToMap, 'World') = 0">
                <xsl:text>Worldbeat</xsl:text>
            </xsl:when>
            <xsl:otherwise>
                <xsl:value-of select="$genreToMap"/>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:function>
</xsl:stylesheet>