Hans: PHP4 und XSLT

Hi,

ich hab im Moment ein Projekt am laufen, dass ich bis jetzt immer unter PHP5 getestet hab und unter PHP4 laufen die XML- und XSLT-Sachen jetzt nicht mehr :-(

Das war die Klasse, die ich benutzt habe:

<?php

class xmlDOC
 {
  var $hParser;
  var $xml;
  var $stylesheet;
 var $filename;

function xmlDOC($filename)
  {
  $this->filename = $filename;
   $this->hParser = xml_parser_create();
   xml_set_object($this->hParser, $this);
   xml_set_processing_instruction_handler($this->hParser, 'fnProcessingInstruction');
   $this->xml = file_get_contents($filename);
   xml_parse($this->hParser, $this->xml, true);
   xml_parser_free($this->hParser);
  }

function fnProcessingInstruction($hParser, $target, $data)
  {
   if($target == 'xml-stylesheet')
   {
    ereg('href="([^"]+)"', $data, $regs);
    $path_parts = pathinfo($this->filename);
    $this->stylesheet = ($path_parts["dirname"])."/".($regs[1]);
   }
  }

function getStylesheet()
  {
   return $this->stylesheet;
  }

function getXML()
  {
   return strstr($this->xml, "\n");
  }

function parseXML()
  {
   $doc = new DOMDocument();
   $xsl = new XSLTProcessor();

if ($this->stylesheet!="") {
    $doc->load($this->stylesheet);
    $xsl->importStyleSheet($doc);

$doc->load($this->filename);
    return strstr($xsl->transformToXML($doc), "\n");
   } else {
    return strstr($this->xml, "\n");
   }
  }
 }

?>

Fatal error: Cannot instantiate non-existent class: domdocument in /usr/export/www/vhosts/funnetwork/hosting/trashweb/tile07/_extra/xmlDOC.php on line 43

und ich schätze der Rest macht auch Probleme!
so müsste phpinfo() aussehen: http://atlas.at.funpic.de/test.php

kann mir wer helfen oder einen Link posten?

mfg
Hans

  1. Hallo,

    $doc = new DOMDocument();
    Fatal error: Cannot instantiate non-existent class: domdocument in /usr/export/www/vhosts/funnetwork/hosting/trashweb/tile07/_extra/xmlDOC.php on line 43

    kann mir wer helfen oder einen Link posten?

    keine http://de3.php.net/manual/de/ref.dom.php@titel=DOM-Erweiterung vorhanden, ergo kein Objekt DOMDocument!
    Mit Deinem Provider läßt sich das Problem also auch nicht lösen...

    Gruß aus Berlin!
    eddi

    1. Hi,

      danke! Gibt es also gar keine Möglichkeit XML per XSLT zu parsen?

      mfg Hans

      1. Re:

        Gibt es also gar keine Möglichkeit XML per XSLT zu parsen?

        Warum sollte das nicht gehen? Schreib Dir einen XML-Parser in PHP oder sei faul und such Dir einen mit google zusammen.

        Gruß aus Berlin!
        eddi

      2. Hallo,

        danke! Gibt es also gar keine Möglichkeit XML per XSLT zu parsen?

        Doch. Du hast laut deiner phpinfo() Sablotron zur Verfügung!
        Schau dir die entsprechenden Funktionen in der PHP-Dokumentation an: http://www.php.net/manual/de/ref.xslt.php

        Oder einfach hier im Archiv:
        http://forum.de.selfhtml.org/archiv/2002/4/t10283/#m57020
        http://forum.de.selfhtml.org/archiv/2002/8/t21235/#m118655

        Grüße
        Thomas