Hallo,
Es muss also schon an der Adressierung der Tags liegen. Ich würde die Formatierung allerdeings gerne so gestalten, dass jegliche <A>-Tags, egal in welchem Unterknoten sie sich befinden, entsprechend formatiert werden. Weiss Jemand, ob und ggf. wie das möglich ist?
Ob der Template für A angwendet wird, hängt nicht vom Template selber ab, sonder davon wie, wann und ob überhapt dieser Template aufgerufen wird.
Wenn der Template nicht angewendt wird, düfte an sich auch kein <A> in das Ergebnisdokument gelangen, es seit denn du arbeitest irgendwo mit xsl:copy-of.
Auch wenn dein Template nicht falsch ist, würde ich es eher so machen:
<xsl:template match="A">
<a>
xsl:choose
<xsl:when test="contains(@href,'@')">
<xsl:attribute name="href">
<xsl:value-of select="concat('mailto:',@href)" />
</xsl:attribute>
</xsl:when>
xsl:otherwise
<xsl:attribute name="href">
<xsl:value-of select="@href" />
</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates />
</a>
</xsl:template>
schließlich geht es nur um die Unterschiedung beim href-Attribut.
Grüße
Thomas