Hi,
<QUESTION>1. Das ist die erste Zeile
2. Das ist die zweite Zeile</QUESTION>Ich denk das bleibt sich gleich.
Nein. Die Umsetzung von Linefeeds in Spaces erfolgt nur innerhalb von Attributwerten (CDATA) (siehe Kapitel 3.3.3 der Spec). In normalem Text (#PCDATA) dagegen bleiben sie (fast) unveraendert (Kapitel 2.10 und 2.11 der Spec). Dies waere also eine Moeglichkeit fuer Dich.
Allerdings verwendet man nicht ohne Grund an manchen Stellen Attributwerte in Empty Elements und an anderen Stellen eben Elements mit Mixed Content (obiger Vorschlag). In Deinem Fall scheint mir zwar letzteres ohnehin angebrachter zu sein, aber das musst Du schon selber wissen, kenne ja nicht den Rest Deiner DTD.
Wenn man also solche besonderen Zeichen in Attributwerten verwenden will, muss man sie auf irgendein Weise maskieren. Dies kann z.B. so geschehen:
s/([\x00-\x1F])/'$'.ord($1).';'/ge;
Beim Auslesen dann zurueckverwandeln:
s/$(\d+);/chr($1)/ge;
(untestet!). Soll nichts anderes heissen als alle Character mit ASCII-Code < 32 durch die Zeichenkette "$10;" zu ersetzen, wobei die 10 fuer den ASCII-Code dieses Zeichens steht.
HTH, Calocybe