Hi again On 4/30/05, Christian Stocker <chregu@xxxxxxxxx> wrote: > On 4/30/05, Erik Franzén <erik@xxxxxxxxxxxxxx> wrote: > > The DOM implementation i PHP5 allows classes to be extended. Extending > > the Document class is no problem, but how can I extend the Element class > > and use it in a DOM tree? > > > > DOMDocument::createElement returns a DOMElement object which you cannot > > extend. > > > > Could this be a solution? > > > > class MyElement extends DomElement { > > function __construct($a_stTagName) { > > //has to be called! > > parent::__construct($a_stTagName); > > } > > > > function myFunction() { > > // do something > > } > > } > > > > $oDom = new DomDocument(); > > $oMyElement = new MyElement('mytag'); > > > > $oMyElement = $oDom->importNode($oMyElement, true); > > $oMyElement = $oDom->appendChild($oMyElement); > > Does not work, will never work, just forget about it ;) Ok, that was not the really right answer ;) Of course it does work. You can even do stuff on that element, if you use the variable, resp. reference ($oMyElement) for doing this. What doesn't work (and I referred to that) is getting this object back from the DomDocument, so for example: $oDom->documentElement will give you the DomElement back and not your new MyElement. Hope it's a little bit clearer now chregu > > chregu > > > > Regards > > /Erik > > > > -- > > PHP General Mailing List (http://www.php.net/) > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > -- > christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich > phone +41 1 240 56 70 | mobile +41 76 561 88 60 | fax +41 1 240 56 71 > http://www.bitflux.ch | chregu@xxxxxxxxxx | gnupg-keyid 0x5CE1DECB > -- christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich phone +41 1 240 56 70 | mobile +41 76 561 88 60 | fax +41 1 240 56 71 http://www.bitflux.ch | chregu@xxxxxxxxxx | gnupg-keyid 0x5CE1DECB -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php