Mine includes a header row. The yellow section is my headers. I'll be honest, I basically copy & pasted and just updated from a presentation.
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl=http://www.w3.org/1999/XSL/Transform>
<xsl:variable name="separ">,</xsl:variable>
<xsl:variable name="delim">"</xsl:variable>
<xsl:output indent="no" omit-xml-declaration="yes" method="text" encoding="utf-8"/>
<xsl:template match="/query">
<xsl:text>STUDENTID</xsl:text>
<xsl:value-of select="$separ"/>
<xsl:text>FIRSTNAME</xsl:text>
<xsl:value-of select="$separ"/>
<xsl:text>LASTNAME</xsl:text>
<xsl:value-of select="$separ"/>
<xsl:text>EMAIL</xsl:text>
<xsl:value-of select="$separ"/>
<xsl:text>TEMPLATETYPE</xsl:text>
<xsl:value-of select="$separ"/>
<xsl:text>AWARDYEAR</xsl:text>
<xsl:value-of select="$separ"/>
<xsl:text>FUNDCOSTNAME</xsl:text>
<xsl:value-of select="$separ"/>
<xsl:text>FUNDCOSTAMOUNT</xsl:text>
<xsl:value-of select="$separ"/>
<xsl:text>FUNDCOSTTERM</xsl:text>
<xsl:value-of select="$separ"/>
<xsl:text>ALTEMAIL</xsl:text>
<xsl:value-of select="$separ"/>
<xsl:text>PHONE</xsl:text>
<xsl:value-of select="$separ"/>
<xsl:text>DEPENDENCY</xsl:text>
<xsl:value-of select="$separ"/>
<xsl:text>PLUSBORROWING</xsl:text>
<xsl:value-of select="$separ"/>
<xsl:text>EFC</xsl:text>
<xsl:value-of select="$separ"/>
<xsl:text>PORTAL</xsl:text>
<xsl:value-of select="$separ"/>
<xsl:text>
</xsl:text>
<xsl:for-each select="/query/row">
<xsl:value-of select="C.CAMPUS_ID"/><xsl:value-of select="N.CAMPUS_ID"/>
<xsl:value-of select="$separ"/>
<xsl:value-of select="C.FIRST_NAME_SRCH"/><xsl:value-of select="N.FIRST_NAME_SRCH"/>
<xsl:value-of select="$separ"/>
<xsl:value-of select="C.LAST_NAME_SRCH"/><xsl:value-of select="N.LAST_NAME_SRCH"/>
<xsl:value-of select="$separ"/>
<xsl:value-of select="EMAIL"/><xsl:value-of select="EMAIL2"/>
<xsl:value-of select="$separ"/>
<xsl:value-of select="TEMPLATETYPE"/><xsl:value-of select="TEMPLATETYPE2"/>
<xsl:value-of select="$separ"/>
<xsl:value-of select="E.DESCRSHORT"/><xsl:value-of select="Q.DESCRSHORT"/>
<xsl:value-of select="$separ"/>
<xsl:value-of select="FUNDCOSTNAME"/><xsl:value-of select="FUNDCOSTNAME2"/>
<xsl:value-of select="$separ"/>
<xsl:value-of select="FUNDCOSTAMOUNT"/><xsl:value-of select="FUNDCOSTAMOUNT2"/>
<xsl:value-of select="$separ"/>
<xsl:value-of select="G.STRM"/><xsl:value-of select="R.STRM"/>
<xsl:value-of select="$separ"/>
<xsl:value-of select="ALTEMAIL"/><xsl:value-of select="ALTEMAIL2"/>
<xsl:value-of select="$separ"/>
<xsl:value-of select="PHONE"/><xsl:value-of select="PHONE2"/>
<xsl:value-of select="$separ"/>
<xsl:value-of select="I.DEPNDNCY_STAT"/><xsl:value-of select="U.DEPNDNCY_STAT"/>
<xsl:value-of select="$separ"/>
<xsl:value-of select="PLUSBORROWING"/><xsl:value-of select="PLUSBORROWING2"/>
<xsl:value-of select="$separ"/>
<xsl:value-of select="K.PRIMARY_EFC"/><xsl:value-of select="W.PRIMARY_EFC"/>
<xsl:value-of select="$separ"/>
<xsl:value-of select="L.VARIABLE_FLAG2"/><xsl:value-of select="X.VARIABLE_FLAG2"/>
<xsl:value-of select="$separ"/>
<xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>