Klaus: Wie PHP generiertes XML anzeigen?

Hallo zusammen,

mit einem PHP Script Auswertung.php wird ein Datenbestand ausgelesen und in eine XML-Struktur gebracht, die etwa so aussieht.

<item name=....>
     <subitem name=.... />
     .....

</item>

Nun würde ich gerne die dynamisch erstellten XML-Daten sofort formattiert an den Browser schicken.

Die Idee war mit

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="ausgabe.xsl"?>

ein XSL Stylesheet zuzuweisen.

Das ganze funktioniert, wenn ich den XML Absatz in eine neue XML- Datei ausgabe.xml kopiere und dann die XML-Datei im Browser aufrufe, nicht aber aus dem PHP-Script heraus.

Hat jemand eine Idee, wie ich mit PHP generierte Daten im XML-Format ohne Umwege XSL-formattiert im Browser anzeigen lassen kann?

Ich kann nicht die PHP-Funktionen von PHP5 verwenden, da das Ganze ab PHP4.3 lauffähig sein muss.

Danke

Gruss

Klaus

  1. Hallo,

    Ich kann nicht die PHP-Funktionen von PHP5 verwenden, da das Ganze ab PHP4.3 lauffähig sein muss.

    Sofern XSLT verfuegbar ist -- siehe phpinfo() -- wie im Archiv beschrieben.

    MfG, Thomas

    1. [Nachtrag:]

      Ausgabe von XML hatte ich doch glatt ueberlesen. Von daher:

      Im XSL-Stylesheet mittels xsl:output definieren:

        
      <xsl:output  
        method="xml"  
        version="1.0"  
        encoding="..."  
        media-type="text/xml"/>
      

      (ggf. weitere Attribute bzgl. DOCTYPE-Deklaration, standalone usw. vereinbaren)

      Im PHP-Script vor der Ausgabe den passenden MIME-Type senden:

      header("Content-Type: text/xml");

      oder alternativ application/xml.

      MfG, Thomas

      1. Danke Euch Beiden. Ich hatte einen Fehler im header der PHP-Datei.

        Gruss

        Klaus

  2. hi,

    Das ganze funktioniert, wenn ich den XML Absatz in eine neue XML- Datei ausgabe.xml kopiere und dann die XML-Datei im Browser aufrufe, nicht aber aus dem PHP-Script heraus.

    Du hast aber schon daran gedacht, dem Browser auch mitzuteilen, dass es sich bei der Ausgabe deines Scriptes um XML-Daten handeln soll? (passender Content-type-Header)

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }