Thomas Meinike: "copy-of" kombiniert mit "translate" - wie geht's?

Beitrag lesen

Hallo,

Das Ganze ist also noch falsch, nur wie geht es richtig?

Mein Fehler war die Anwendung von translate() auf die selektierten Knoten und nicht auf deren jeweiligen Inhalt.

Bisher bin ich zu diesem Ergebnis gekommen, wobei die Attribute (noch) ausbleiben:

<xsl:template match="@*|node()">  
  <xsl:copy>  
    <xsl:choose>  
      <xsl:when test=". = text()">  
        <xsl:value-of select="translate(.,'abc','ABC')"/>  
      </xsl:when>  
      <xsl:otherwise>  
        <xsl:apply-templates select="@*|node()"/>  
      </xsl:otherwise>  
    </xsl:choose>  
  </xsl:copy>  
</xsl:template>

MfG, Thomas