Используйте
<xsl:template match="section/title//text()">
<xsl:value-of select="upper-case(.)"/>
</xsl:template>
вместе с преобразованием идентичности (например, объявлено <xsl:mode on-no-match="shallow-copy"/>
в XSLT 3 или записано как
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
в более ранних версиях).
Затем вы можете переопределить его для любых других преобразований, которые вы хотите или нуждаетесь, добавив определенные c шаблоны, например <xsl:template match="section/title"><head1><xsl:apply-templates/></head1></xsl:template>
.