Nie ma technicznej możliwości w php (i podejżewam że w wielu innych jezykach również) by konstruktor coś zwracał. Dlaczego? Ponieważ konstruktor to specyficzna metoda tworzona w chwili inicjalizacji obiektu. Nie ma ona wpływu na jego tworzenie.
Gdy w php wykonasz $x = new DOMXML(); operator new zwraca instancję klasy nie biorąc pod uwagę konstruktora. Konstruktor jest wykonywany po to byś mógł przekazać w chwili tworzenia argumenty przydatne przy inicjalizacji obiektu.
Nie muszę wspominać, że jest to niezgodne z regułami OOP. Ponadto zapis, który wcześniej przedstawiłeś to jest podwujne new - czyli stworzenie drugiej instancji klasy w niej samej..
Niezależnei co by to miało być i czemu służyć możesz to rozwiązać ładniej.