|
|||
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"?> <!DOCTYPE FORM SYSTEM "formvalid.dtd" [ <!ENTITY % FC5 "INCLUDE">]> <FORM ACTIVE.PAGE="1" ID="0" LANG="DE" USER="0"><FC5><FLAG_IMP>N</FLAG_IMP><REF.LINK>2020012</REF.LINK><MAIN.INFO><COUNTRY.FLAG>LU</COUNTRY.FLAG> <DATE>28.05.2012</DATE></MAIN.INFO><TENANT.INFO><TENANT.COMPANY><NAME>Mustermann AG</NAME><PERSONAL.ADDR> <ADDRESS><STREET>Musterstraße 1</STREET><ZIPCODE>1234</ZIPCODE><CITY>Musterstadt</CITY><COUNTRY>DE</COUNTRY></ADDRESS> </PERSONAL.ADDR></TENANT.COMPANY></TENANT.INFO><FC5.SPEC><DATE.EX>21.05.2008</DATE.EX></FC5.SPEC> <ADD.INFO>Zusatinfos</ADD.INFO><REMARK>Vorlage 1 Uhr</REMARK> <ENTR><ZIPCODE>6246</ZIPCODE><CITY>Musterzweite Stadt</CITY><REPORTER>Heinzel</REPORTER></ENTR> </FC5></FORM> 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 Remark Zeile 2 d.h. statt: (wären eine leerzeile) Code:
Remark Zeile 1\r\n\r\n Remark Zeile 2 und statt: Code:
<p>Remark Zeile 1</p> <p>*</p> <p>Remark Zeile 2</p> Code:
<p>Remark Zeile 1</p> <p></p> <p>Remark Zeile 2</p> Code:
<p>Remark Zeile 1</p> <p>Remark Zeile 2</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). Geändert von tony667 (26.06.2013 um 11:43 Uhr) Grund: hinweis |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Responsive Design: Leere Fläche beim Header entfernen | Shyne | (X)HTML | 6 | 26.06.2013 14:57 |
Tabelle: Mehrere Zeilen aus einmal einbleden und wieder ausblenden - Wie? | EPMS | Javascript & Ajax | 6 | 15.07.2009 14:29 |
Zeilen in Tabelle löschen | MTH | Javascript & Ajax | 0 | 11.09.2007 14:08 |
Aus-/Einblenden von Zeilen in einer Tabelle mit JavaScript | brainstorm1984 | Javascript & Ajax | 3 | 02.02.2007 11:25 |
Positionierung von Bildern aus XSL Rekursion | skribi | CSS | 1 | 13.05.2005 21:23 |