2 weeks ago we had a thread highlighting the fact that with a SAX based XSP engine we would speed up the overall process and reduce the memory footprint.
Unfortunately, I would prefer to wait for the Xalan2 integration before jumping in since we should move directly to TRAX IMHO, and since the Extension isn't fully supported in the Xalan2...
Scott we're ready on our starting block, waiting for your GO signal :-)
Original thought on using SAX based XSP engine instead of DOM :
When the SAX events for the original XSP document is submitted to the XSP
transformer, then when the 'processing intruction SAX event' is thrown,
the method 'processingInstruction(target, data)' acts as a controller and
set a new transformer on the fly that correspond to the stylesheet
declared in the PI. Therefore all the following SAX events are forwarded
to the new transformer we've just set up.
Then this later transformer send its result SAX events to the XSP
transformer which acts one more time as a controller. And we repeat the
loop until there is no more PI to handle.