Thomas J.S.: Formatierungen sicherstellen

Beitrag lesen

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