Hi Forum,
nachdem ich nun nach einigen Tagen vergeblicher Mühe Apache mit Tomcat und Cocoon sowohl unter Linux als auch Windows eingerichtet habe, bin ich auf die XML Funktionalität von PHP gestossen *grr* ;)
Natürlich hab ich gleich was ausprobiert, klappte auch alles wunderbar, nur hat mir das event-based handling der Daten nicht, ich wollte das lieber in einer Listen/Tree-Struktur haben (auch wenn das speicherfressender ist).
Ich habe die Funktionen soweit eingebunden, funktionierte. Als ich das dann in eine Class packen wollte, fingen die Probleme an. Gewünschte Funktionalität: Eine XML-Klasse, die intern das XML-file parst (sorry Swen, schon wieder so ein neudeutsch :)) und dann bereitstellt.
--------------------- snip 8>< ------------------------
class XML {
function XML($file) {
# Setting up the parser
$this->xml_parser = xml_parser_create();
xml_set_element_handler($this->xml_parser, "$this->startElement", "$this->endElement");
$this->file = $file;
}
function parse() {
# Opens the file and parses it
# ...
}
function startElement($parser, $name, $attribs) {
# Zu Testzwecken
echo "huhu";
}
}
--------------------- snip 8>< ------------------------
Das Problem ist, daß er startElement nicht aufruft. Wenn ich den element_handler auf "($this->xml_parser, "startElement", "endElement")" setze, bemängelt er (natürlich), daß er die Funktion nicht finden kann. Referenziere ich mit $this-> auf die Funktion der Klasse, gibt er kein "huhu" aus. Ich vermute, daß ich irgendeine PHP Eigenheit nicht bedenke, gibt es überhaupt die Möglichkeit, das so zu verpacken?
<mfg>Sebastian Will</mfg>
}