XSLT-Processor gibt Fehler aus

PHP:
<?php
function xml2html($xmldata, $xsl)
{
    $path = 'include';
    $arguments = array('/_xml' => $xmldata);
    $xsltproc = xslt_create();
    xslt_set_encoding($xsltproc, 'UTF-8');

    $html = xslt_process($xsltproc, "$path/$xmldata", "$path/$xsl", NULL, $arguments);
    if (empty($html)) {
       die('XSLT processing error: '. xslt_error($xsltproc));
    }
    xslt_free($xsltproc);
    return $html;
}
$xmldata ="menue2.xml";
$xsl ="menue2.xsl";
xml2html($xmldata, $xsl);
?>

@deepthroat kannst du mir mal die erzeugt HTML-Datei zukommen : )
lassen dann kann ich diese validieren lassen und den Fehler finden.
 
Zuletzt bearbeitet:
Der Code sieht eigentlich OK aus. So ähnlich wie meiner - ich hab nur die $arguments weggelassen.

Das HTML-Ergebnis ist im Anhang.

Gruß

PS: Allerdings machst du ja nichts mit dem Resultat der Funktion, oder? Da fehlt einfach nur ein echo.
 

Anhänge

  • menue2.html.txt
    4 KB · Aufrufe: 17
Zuletzt bearbeitet:
Genau so sollte es aussehen. bis auf die 'Â'
aber dafür habe ich so ein replace function

War mal schnell Mittagessen machen.
Das echo lass ich mir unten schon ausgeben nur erhalte ich nur eine Leere Seite.
Verstehe nicht wieso es bei mir nicht läuft. :(

PHP:
...
xml2html($xmldata, $xsl);
echo "$html";
?>
 
Zuletzt bearbeitet:
Ok der erzeugte HTML -Code ist auch Valide mir fällt nix mehr ein.

Die php_info kann der Provider doch nicht manipulieren oder ?
Wenn da enable steht sollte es doch auch funktionieren.
 
Genau so sollte es aussehen. bis auf die 'Â'
aber dafür habe ich so ein replace function

War mal schnell Mittagessen machen.
Das echo lass ich mir unten schon ausgeben nur erhalte ich nur eine Leere Seite.
Verstehe nicht wieso es bei mir nicht läuft. :(

PHP:
...
xml2html($xmldata, $xsl);
echo "$html";
?>
So kann das aber nicht funktionieren (oder hast $html irgendwie global definiert?).
PHP:
echo xml2html($xmldata, $xsl);
Gruß
 
Ja ich hatte sie global gesetzt nur ausversehen außerhalb der funktion.
Das war ein guter Tipp jetzt habe ich sie in die Funktion verschoben und siehe da es funktioniert.
Code:
global $html;
Danke dir vielmals. :) @deepthroat aber auch Sven
 

Neue Beiträge

Zurück