Hallo Helmut,
<xsl:for-each select="xml/link">
<xsl:call-template name="a" /><br />
</xsl:for-each>
probiere es statt dem Aufruf des benannten Templates im xsl:for-each-Konstrukt so:
<a href="{url}"><xsl:value-of select="txt" /></a><br />
BTW: Zum Element "xml": Dieses verletzt die XML-Namensregeln, welche die Zeichenkette "xml" am Anfang ausschließen.
Grüße,
Thomas