4.1.9.3  Exkurs: Performanz der Descendant-Achse

Aus Verlegenheit hatte ich die komplexere Match-Bedingung des ersten Schritts gegen einen einfachen Pfadselektor ausgewechselt, also das....

match="text()[current() is ancestor::title[1]/(descendant::text())[1]]"
Plain Text

... gegen das ...

match="title/(descendant::text())[1]"
Plain Text

... ersetzt.

Damit lief die Transformation aber in ein exponentiellen Performanzproblem!
In einer Match-Bedingung sollte niemals die Descendant-Achse im Pfadselektor auftauchen!

Ansonsten performt die Lösung auch bei mehreren Tausend Titeln in Sekundenbruchteilen.