phpbar.de logo

Mailinglisten-Archive

[php] simpleXML asXML() zerschießt Script-Tag?

[php] simpleXML asXML() zerschießt Script-Tag?

Tim TConnect at gmx.net
Die Jul 17 11:38:43 CEST 2007


Hallo David,


> >
> > <tag></tag>
> >
> > in
> >
> > <tag />
> >
> > umformatiert, was ich aber eigentlich nicht möchte.
> Ich halte diese Formatierung bzw. eigentlich ist es ja eine 
> Serialisierung eines Objektbaums für richtig, denn "leere" 
> Tags werden in XML durch <tag /> serialisiert. Es ist eher 
> ein Problem des Browser, dass er mit leeren Tags nicht umgehen kann.

OK laut Spezifikation ist aber auch das format <tag></tag> korrekt, wie es
z.B. auch in der Kompatibilitätsangabe für abwärtskompatible HTML Dokumente
beschrieben ist. Hier steht z.B. dass die Tags wie h1 oder b auf keinen Fall
minimiert geschrieben werden sollten. Siehe [1] -> C.3

Ich geh mal davon aus, dass das dann auch für andere im HTML4. definierten
Tags gelten sollte. Oder?

Ich habe mir jetzt erst einmal dadurch weiter geholfen, indem ich die
Script-/Iframe Tags nicht direkt aneinander geschrieben, sondern dazwischen
ein Leerzeichen platziert habe. Zumindestens der IE7 und der aktuelle FF
machen da keine Probleme. 

Trotzdem wäre es schön, wenn man der Funktion $html->asXML() irgendwie mit
auf den Weg geben könnte, dass man leere Tags in bestimmten Fällen eben
nicht minimiert (serialisiert) sondern weiterhin ausgeschrieben haben
möchte. Oder anders ausgedrückt: Wenn ich das in der Template-Datei nicht
minimiert geschrieben habe, soll es eben in der Ausgabe mittels asXML()
nicht in die minimierte Form umgewandelt werden... M.E. ist es nur so
möglich, während der Umstellung alter HTML4 Websites auf XHTML1.x
gleichzeitig kompatibel zu den Browsern zu bleiben.

Hat jemand da noch ne Idee?

Grüße
Tim


[1] http://www.edition-w3c.de/TR/2002/REC-xhtml1-20020801/


php::bar PHP Wiki   -   Listenarchive