zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > (X)HTML
Seite neu laden XSL - leere Zeilen entfernen.

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 26.06.2013, 11:41
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 26.06.2013
Beiträge: 1
tony667 befindet sich auf einem aufstrebenden Ast
Standard 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, '&#x20,&#xa,&#xd;&#x9', ''')" />

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
jetzt kann es, wie oben beschrieben sein, dass zwischen Remark Zeile 1 und Remark Zeile 2 unnötige "\r\n"'s, "<p>"'s enthalten sind.

d.h. statt: (wären eine leerzeile)
Code:
Remark Zeile 1\r\n\r\n
Remark Zeile 2
sollte nur 1x \r\n stehen, (was ja korrekt wäre)

und statt:
Code:
<p>Remark Zeile 1</p> <p>*</p>
<p>Remark Zeile 2</p>
bzw:
Code:
<p>Remark Zeile 1</p> <p></p>
<p>Remark Zeile 2</p>
jeweils:
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
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ä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


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:17 Uhr.