On Fri, 2008-09-05 at 14:59 +0200, Thorsten Scherler wrote: > Hi all, > > I will have some time in the next week to enhance the performance of the > dispatcher. The performance always have been the Achilles’ heel of the > dispatcher. Regarding the implementation of the hook processing. There is a small downsides in the current implementation: the xpath injection are NOT working well when the injection point is within the main stream of the events. It is possible to inject e.g. to /html/head but injecting to /html/body/... will not inject the new events in the principal stream to the location that one w ould await. The main reason is that the generation of the result document is now as well based on StAX and not any more in DOM. However to have the same behavior as we have currently in the DispatcherTransformer I do not see any other possibility then using DOM again. Like with the xml properties I will make the usage configurable since I reckon in 90% of all cases the StAX based calculation is used. For the rest I am stil l investigating but it seems that DOM is the only possibility because every other possibility that me occur is imitating DOM. For the dispatcher/testing/org/apache/forrest/dispatcher/master.structurer.xml that I am using for testing I get: Content going to the location defined by the structurer. $test-inline: position:hook/contract $test-inline-xml: No xml parameter has been passed Content going to the location defined by the structurer. $test-inline: position:hook/hook/contract $test-inline-xml: No xml parameter has been passed Another test! $test-inline: xxx $test-inline-xml: No xml parameter has been passed

master-xxx

master-xxx

Like you can see the 3 part is not in the desired nodes. To solve this, one need to localize the stream event that comes the closest to the xpath expression and then inject new events there. Somebody has an idea? Meanwhile I will add the DOM result creation as alternative. salu2 -- Thorsten Scherler thorsten.at.apache.org Open Source Java consulting, training and solutions