XSL - leere Zeilen entfernen.
Hallo liebes Forum,
ich bin neu hier und habe (natürlich) direkt eine frage. Ich habe folgende XML: Code:
<?xml version="1.0" encoding="UTF-8"?> jetzt wird diese per XSL in validiert und transformiert. Soweit kein Problem. Jetzt bin ich an einem Punkt, bei dem ich mir nicht sicher bin wie diese xsl mechanik funktioniert, ich möchte Leerzeilen entfernen. Nun kommt es aber zu folgender Problematik: es kann sein, dass in dem Tag <Remark> HTML Code verborgen liegt, aber garantiert immer mit <REMARK><p>Text</p>Mehr Text</REMARK> Durch falsche Eingabe kann es aber vorkommen, dass innerhalb Remark eine Leerzeile entsteht, z.B. so: <REMARK><p>Text</p><p>*</p><p>Mehr Text</REMARK> D.h. das <p>*</p> sorgt für eine Leerzeile, die entfernt werden muss. In dem Tag <ADD.INFO>Zusatinfos</ADD.INFO> kommt es aber nun auch mal vor, das zuviele \r\n's eingefügt werden, die entfernt werden sollen. Nun habe ich folgendes gelesen: man soll <xsl:value-of select="translate(normalize-space(COMPONENT),' ','')" /> ausführen. eine andere möglichkeit die ich fand ist: <xsl:value-of select="normalize-space(COMPONENT)" /> und: <xsl:value-of select="translate(component, ' ,
,
	', ''')" /> da ich kein freund von "trial and error" bin, würde ich gerne mal wissen, was der unterschied zu diesen zeilen ist, und wie wirkt der sich aus - und welche davon ist denn jetzt das , was ich brauche? Funktioniert das ganze auch bein unnötigen <p>*</p>? Denn selbst wenn "*" entfernt würde, wäre ja immernoch eine unnötige leerzeile enthalten. Ich muss gestehen,ich bin xsl einsteiger, aber mit guten erklärungen werde ich es wohl verstehen und anwenden können. letztenendes würde dann in einem textfeld die xml datei nochmal transformiert und einen solchen output generieren(nur bezogen auf remarks, beispielhaft) Code:
Remark Zeile 1 d.h. statt: (wären eine leerzeile) Code:
Remark Zeile 1\r\n\r\n und statt: Code:
<p>Remark Zeile 1</p> <p>*</p> Code:
<p>Remark Zeile 1</p> <p></p> Code:
<p>Remark Zeile 1</p> danke für eure zeit und geduld. ach, mir ist gerade aufgefallen dass das forum aus <p>UND.RAUTE.160.SEMIKOLON</p>(die worte bitte durch symbole ersetzen und punkte wegdenken) ein * macht.... (siehe text oben). |
Alle Zeitangaben in WEZ +2. Es ist jetzt 11:10 Uhr. |
Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
© Dirk H. 2003 - 2023