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