[0] You do not mention the working environment, in particular, what kind of processing set up the xml document is going to get processed.
[1] Also, the namespace of dc prefix is not shown. (I would suppose in [2] somewhere it is declared in xsl document with prefix coincide with it, and the prefix I use is dc which is not a generic requirement and can be anything syntactically correct.)
[2] Within the realm of xslt, you can do it like this with the template matching item.
[tt]
<xsl:template match="item">
<xsl:variable name="titledata" select="substring-after(title,': ')" />
<xsl:for-each select="dc:date">
<xsl:variable name="date" select="substring-before(.,'T')" />
<xsl:call-template name="cvtdate">
<xsl:with-param name="sdate" select="$date" />
</xsl:call-template>
<xsl:text>
</xsl:text>
<xsl:value-of select="$titledata" />
<xsl:if test="position() != last()">
<xsl:text>

</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:template>
<xsl:template name="cvtdate">
<xsl

aram name="sdate" />
<xsl:variable name="yyyy" select="substring-before($sdate,'-')" />
<xsl:variable name="rs_yyyy" select="substring-after($sdate,'-')" />
<xsl:variable name="mm" select="substring-before($rs_yyyy,'-')" />
<xsl:variable name="mm_display">
<xsl:choose>
<xsl:when test="$mm = '01'">Jan</xsl:when>
<xsl:when test="$mm = '02'">Feb</xsl:when>
<xsl:when test="$mm = '03'">Mar</xsl:when>
<xsl:when test="$mm = '04'">Apr</xsl:when>
<xsl:when test="$mm = '05'">May</xsl:when>
<xsl:when test="$mm = '06'">Jun</xsl:when>
<xsl:when test="$mm = '07'">Jul</xsl:when>
<xsl:when test="$mm = '08'">Aug</xsl:when>
<xsl:when test="$mm = '09'">Sep</xsl:when>
<xsl:when test="$mm = '10'">Oct</xsl:when>
<xsl:when test="$mm = '11'">Nov</xsl:when>
<xsl:when test="$mm = '12'">Dec</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="dd" select="substring-after($rs_yyyy,'-')" />
<xsl:variable name="dd_display">
<xsl:choose>
<xsl:when test="number($dd) = 1 or number($dd) = 21 or number($dd) = 31">
<xsl:value-of select="concat(number($dd),'st')" />
</xsl:when>
<xsl:when test="number($dd) = 2 or number($dd) = 22">
<xsl:value-of select="concat(number($dd),'nd')" />
</xsl:when>
<xsl

therwise>
<xsl:value-of select="concat(number($dd),'th')" />
</xsl

therwise>
</xsl:choose>
</xsl:variable>
<xsl:value-of select="concat($dd_display,' ',$mm_display)" />
</xsl:template>
[/tt]