Thomas J.S.: <xsl:variable> den Wert "Zeilenumbruch" zuweisen

Beitrag lesen

Hallo,

als Ausgabe habe ich ein PDF-Dokument, muss innerhalb eines Elementes nach dem Zeilenumbruch suchen bzw. prüfen, ob das letzte Zeichen ein Zeilenumbruch ist. Mache es folgendermaßen:

<xsl:if test="substring($element, string-length($element) - string-length($test) + 1) = $test">
mach...
</xsl:if>

Was sollte dieser Ausdruck nochmal prüfen?
string-length($test) + 1 = 2

if: substring($element, string-length($element)) = $test

Damit bekommt man das letzte Zeichen im Element. Das Funktioniert bei mir mit:
<xsl:if test="substring($element, string-length($element)) = '&#xA;'">
 ... tue was ...
</xsl:if>

Wie gesagt, bei anderen Zeichen funktioniert es wunderbar.. Mit dem &#xA; wird zwar keine Fehlermeldung ausgegeben, dafür aber jedesmal "mach" ausgeführt, egal, wie das letzte Zeichen aussieht..

Das kann aber auch daran liegen, dass deine Elemente 'ordentlich' Formatiert sind:

ihnalt
</element>

d.h. es gibt _immer_ ein Zeilenumbruch am Ende.

Grüße
Thomas