Thomas Meinike: Umlaute

Beitrag lesen

Hallo,

ich habe eine xm-Datei in der so einige Umlaute vorkommen.
Die sollen da auch drin stehen.
Wie kann ich jetzt in der xsl diese Umlaute auslesen und diese ersetzen.

Ein ä z.B durch "ä" .

Eine Notwendigkeit dafuer gibt es nicht. Verwende das encoding-Attribut des Elements xsl:output und gib den gewuenschten Ausgabezeichensatz an.

Mit <xsl:when test="contains($variable,'ä')">

funktioniert das nicht.

Diese Abfrage prueft lediglich, ob das Zeichen ä in $variable enthalten ist.

Geht das überhaupt? Eine Idee?

Unter XSLT 2.0 + XPath 2.0 sind Ersetzungen sehr einfach moeglich:

  
<xsl:variable name="bla">Märchenerzähler</xsl:variable>  
<xsl:value-of select="fn:replace($bla,'ä','&#228;')"/>

Ersetzt werden alle Vorkommen von ä.

XSLT 1.0 + XPath 1.0 bieten zur Ersetzung des ersten Vorkommens von ä:

  
<xsl:value-of select="concat(substring-before($bla,'ä'),'&#228;',substring-after($bla,'ä'))"/>

Weitere Vorkommen muessten rekursiv behandelt werden.

MfG, Thomas