<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
   xmlns:xsd="http://www.w3.org/2001/XMLSchema-datatypes"
   xmlns:sh="http://josephhall.org/xml/shows"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   xmlns:dc="http://purl.org/dc/elements/1.1/" 
   xmlns:admin="http://webns.net/mvcb/" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    
   version="2.0"
   exclude-result-prefixes="#all">
   <xsl:output method="html" indent="yes" encoding="us-ascii" />    
   <xsl:template match="/sh:venueShowList/sh:venueList"/>
   <xsl:template match="/sh:venueShowList/sh:showList">
      <rss version="2.0" 
         xmlns:dc="http://purl.org/dc/elements/1.1/" 
         xmlns:admin="http://webns.net/mvcb/" 
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
         xmlns:content="http://purl.org/rss/1.0/modules/content/">
         <channel>
            <title>Killer shows...</title>
            <rdf:link>http://josephhall.org/shows.php</rdf:link>
            <description>Bay Area shows that Joe thinks are cool...</description>
            <language>en-US</language>
            <docs>http://backend.userland.com/rss</docs>
            <admin:generatorAgent rdf:resource="http://josephhall.org/shows/shows-rss2.0.xsl"/>
            <ttl>60</ttl>
            <xsl:apply-templates select="sh:show">
               <xsl:sort select="year-from-date(@date)" data-type="number"/>
               <xsl:sort select="month-from-date(@date)" data-type="number"/>
               <xsl:sort select="day-from-date(@date)" data-type="number"/>
            </xsl:apply-templates>
         </channel>
      </rss>
   </xsl:template>
   <xsl:template match="sh:show">
      <xsl:for-each select=".">
         <item>
            <title>
               <xsl:apply-templates select="@date"/>
               <xsl:text> - </xsl:text>
               <xsl:value-of select="sh:artist[1]"/>
            </title>
            <description>Let me know if you see this...</description>
            <content:encoded>
               <p>
                  <xsl:apply-templates select="@date"/>
                  <xsl:text> - </xsl:text>
                  <xsl:apply-templates select="@venueCode"/>
               </p>
               <p>
                  <ul>
                     <xsl:apply-templates select="sh:artist"/>                  
                  </ul>
               </p>
               <xsl:if test="sh:note">
                  <xsl:apply-templates select="sh:note"/>
               </xsl:if>               
            </content:encoded>
         </item>
      </xsl:for-each>
   </xsl:template>
   <xsl:template match="sh:note">
      <p>
         <small>
            <xsl:text>(Note: </xsl:text>
            <xsl:value-of select="."/>
            <xsl:text>)</xsl:text>
         </small>
      </p>
   </xsl:template>
   <xsl:template match="@date">
      <xsl:value-of select="day-from-date(.)"/>
      <xsl:choose>
         <xsl:when test="month-from-date(.) = 1">
            <xsl:text> Jan </xsl:text>
         </xsl:when>
         <xsl:when test="month-from-date(.) = 2">
            <xsl:text> Feb </xsl:text>
         </xsl:when>
         <xsl:when test="month-from-date(.) = 3">
            <xsl:text> Mar </xsl:text>
         </xsl:when>
         <xsl:when test="month-from-date(.) = 4">
            <xsl:text> Apr </xsl:text>
         </xsl:when>
         <xsl:when test="month-from-date(.) = 5">
            <xsl:text> May </xsl:text>
         </xsl:when>
         <xsl:when test="month-from-date(.) = 6">
            <xsl:text> Jun </xsl:text>
         </xsl:when>
         <xsl:when test="month-from-date(.) = 7">
            <xsl:text> Jul </xsl:text>
         </xsl:when>
         <xsl:when test="month-from-date(.) = 8">
            <xsl:text> Aug </xsl:text>
         </xsl:when>
         <xsl:when test="month-from-date(.) = 9">
            <xsl:text> Sep </xsl:text>
         </xsl:when>
         <xsl:when test="month-from-date(.) = 10">
            <xsl:text> Oct </xsl:text>
         </xsl:when>
         <xsl:when test="month-from-date(.) = 11">
            <xsl:text> Nov </xsl:text>
         </xsl:when>
         <xsl:when test="month-from-date(.) = 12">
            <xsl:text> Dec </xsl:text>
         </xsl:when>
         <xsl:otherwise>
            <xsl:text> N/A </xsl:text>
         </xsl:otherwise>
      </xsl:choose>      
      <xsl:value-of select="year-from-date(.)"/>
   </xsl:template>
   <xsl:template match="@venueCode">
      <xsl:variable name="ven" select="."/>
      <a>
         <xsl:attribute name="href">
            <xsl:value-of select="/sh:venueShowList/sh:venueList/sh:venue[@venueCode=$ven]/sh:url"/>
         </xsl:attribute>
         <xsl:value-of select="/sh:venueShowList/sh:venueList/sh:venue[@venueCode=$ven]/sh:name"/>      
      </a>
   </xsl:template>
   <xsl:template match="sh:artist">
      <li>
         <xsl:choose>
            <xsl:when test="@url">
               <a>
                  <xsl:attribute name="href"><xsl:value-of select="@url"/></xsl:attribute>
                  <xsl:value-of select="."></xsl:value-of>
               </a>
            </xsl:when>
            <xsl:otherwise>
               <xsl:value-of select="."></xsl:value-of>
            </xsl:otherwise>
         </xsl:choose>
      </li>
   </xsl:template>
</xsl:stylesheet>
