Hallo silversurfer,
XSLT ist dafür entworfen, XML-Bäume in andere zu überführen. Es ist in imperativen Sprachen (also z.B. den von dir genannten) idR ziemlich umständlich, solche Transformationen zu beschreiben.
Hast Du schon mal versucht, das, was man mit einem etwas trickreicheren XPath-Ausdruck erreichen kann, mit einer anderen Programmiersprache und DOM zu erreichen?
Auch das erzeugen der Ausgabe geht mit XSLT meist wesentlich eleganter, als das mit einer anderen Programmiersprache ginge.
Wenn Du die Transformation von selbst programmierst, musst Du Dir außerdem genau überlegen, wie Du das effizient machst. Ob Du irgendwelche Tabellen mit Element und Attributnamen anlegst, um die dann schneller finden zu können, ob Du irgendwelche Teilergebnisse zwischenspeicherst etc.
Gute XSLT-Prozessoren machen das vermutlich schon. Besonders wenn XSLT selbst übersetzt wird, ist das vermutlich oft auch schneller, als eine naive, händische Implementierung der Transformation.
Grüße
Daniel