Try an XSLT tutorial if you don't know anything about XSLT. You seem to want to copy some elements from the input to the output, for others you seem to want to change the name. Here is an example doing that for the first few elements in your XML input, you will need to add (a lot of) templates mapping the remainng elements:
Code:
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dc="http://example.com/dc"
version="1.0">
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/ListRecords">
<ListRecords>
<xsl:apply-templates select="@* | node()"/>
</ListRecords>
</xsl:template>
<xsl:template match="record/header">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="record/header/identifier">
<dc:header>
<xsl:apply-templates/>
</dc:header>
</xsl:template>
<xsl:template match="record/header/datestamp">
<dc:date>
<xsl:apply-templates/>
</dc:date>
</xsl:template>
</xsl:stylesheet>