XSLT 1.0 prüfen, ob mehr als 1 Leerzeichen
juls_pro_37
- xml
- xsl
Hallo,
ist es möglich, mittels XSLT 1.0 zu prüfen, ob in einem bestimmten Node mehr als 1 Leerzeichen vorkommen, falls ja, diese zu entfernen und nur 1 Leerzeichen beizubehalten?
Beispiel:
falsch: Das ist ein Test
richtig: Das ist ein Test
LG Julian
Hi,
ist es möglich, mittels XSLT 1.0 zu prüfen, ob in einem bestimmten Node mehr als 1 Leerzeichen vorkommen, falls ja, diese zu entfernen und nur 1 Leerzeichen beizubehalten?
Meinst Du aufeinanderfolgende? Denn das, was Du als "richtig" bezeichnest, enthält auch mehrere Leerzeichen.
Beispiel:
falsch: Das ist ein Test richtig: Das ist ein Test
in XSLT 2 gibt's ein Regex-fähiges replace, das müßte man dann halt mit " +"
-> " "
füttern.
in XSLT 1 gibt's das m.W. nicht - da könnte man evtl. was rekursives machen - solange zwei aufeinanderfolgende Leerzeichen vorhanden sind, diese durch ein Leerzeichen ersetzen.
cu,
Andreas a/k/a MudGuard
Meinst Du aufeinanderfolgende?
Korrekt und es betrifft XSLT1.0
Danke vorab.
Hallo Julian,
ist es möglich, mittels XSLT 1.0 zu prüfen, ob in einem bestimmten Node mehr als 1 Leerzeichen vorkommen, falls ja, diese zu entfernen und nur 1 Leerzeichen beizubehalten?
Zm Entfernen von Leerraum dient normalize-space()
. Dazu gehören neben mehrfachen Leerzeichen auch solche am Anfang oder Ende und weiterer White Space wie Tabs und Umbrüche.
Prüfen könnte man mittels test="normalize-space(knotentext) != knotentext"
.
Grüße,
Thomas