Mailinglisten-Archive |
Hi, > Waaah, was für ein Quark ;) Mag sein... > <?xxxx ...?> ist KEIN XML Tag. Ist es auch nie gewesen und wird es > nicht sein. <?xxxx ?> ist eine sogenannte Processing Instruction (PI), > also eine Art Einschub zur Verarbeitung vor Auslieferung. Genau das > was PHP auch tut. Das hette ich auch nicht geschrieben - war aber zu Faul da schon genau zu sein und das zu kritisieren. > Der Inhalt zwischen <?php und ?> braucht NICHT XML > konform zu sein. XML Parser sehen den gesamten Block als ein Element. > Der Inhalt von PI's wird nicht von einem XML Parser interpretiert > sonden bei SAX Parsern zum Beispiel an den PI-Handler weiter gereicht. > Daher muß der Inhalt so ähnlich wie bei unparsed character data nicht > XML konform sein. ;) Das hatte ich irgendwo aber mal anders gelesen (mit einem Beispiel, wie dem von mir gebrachten) und im Hinterkopf behalten - finde es aber mit Google nichtmehr - war von jemandem mit einem doch recht bekannten Namen geschrieben - aber selbst das weiß ich nichtmehr im Detail... Wie sieht es denn mit <?php echo '<?xml-stylesheet href="'.$s.'" type="text/xsl" ?>' ?> aus, wo ist da die PI, laut Standard, zu Ende (reine Neugier...)? Mein Firebird und Opera wollen es jedenfalls nicht parsen ("unclosed token") so wie ich es auch erwartet habe - d.h. wenn man XML-Konformen PHP-Source haben will und XML mitsamt Deklaration ausgeben will und auf short_open_tags = on rücksichtnehmen will muss man sowas wie <?php echo '<?xml version="1.0" ?'.'>'; ?> machen - das akzeptieren die oben genannten Browser auch als XML. > Nicht nur das - <? alleine ist keine XML konforme PI mehr ;) Aber wer parst seinen PHP-Source schon mit 'nem XML-Parser? johannes P.S. foreach ($saetze_dieser_mail AS $satz) { $satz .= ' ;-)'; } - achne so funktioniert es nicht, da foreach auf 'ner Kopie des Arrays arbeitet.
php::bar PHP Wiki - Listenarchive