Hi i an trying to output an A-Z list of web pages. However I only want to run the header <h2> once (not for every list item). How can I do this? here is my code

Code:
<xsl:template match="body">  
  <dl>
  <xsl:apply-templates select="/opml/body//outline">     
   <xsl:sort select="@text" />        
  </xsl:apply-templates>
  </dl>  
</xsl:template>



<xsl:template match="/opml/body//outline"> 
<xsl:variable name="letter" select="substring(@text, 1, 1)" />

<xsl:choose>  
  <xsl:when test="$letter = 'A'">
     <xsl:call-template name="A" />  
  </xsl:when>
  
  <xsl:when test="$letter = 'B'">
     <xsl:call-template name="B" />  
  </xsl:when>
  ...
  
  <xsl:otherwise>
  </xsl:otherwise> 
</xsl:choose>


<dt>  
  <a>       
   <xsl:attribute name="href">
   <xsl:value-of select="@rel_url"/></xsl:attribute>
   <xsl:value-of select="@text" />
  </a>
</dt>
   <dd>
      <xsl:value-of select="@description" />
  </dd> 

 
</xsl:template>


<xsl:template name="A">  
     <h2>A</h2>       
</xsl:template>

<xsl:template name="B">    
   <h2>B</h2>
</xsl:template>

...