Jeni, I understand the semantic model defined by XSLT, which is what you describe here. It could be argued that streamming the transformation is nothing else than being able to use a pure DFS algorith for the transformation. Granted, this is not always possible. In my case we need to process very large documents which may grow in an order of magnitude by the transformation. At the same time this is not a once a day batch file kind of operation but it must happened concurrently with other requests of the same type, which means memory utilization is even more important.
Some processors allow asynchronous and partial transformation.
I would like to have some discussion, at the semantic level, on identifying a subset of the XSLT language that can be process using a DFS approach. Can a useful subset of the language be identified. By this I mean that, unless indicated to be cached, once all template is applied to an element, such element node can be removed discarded. Does XSLT provides enough information to be able to acomplish this. Well, the example was just to showcase the issues I am refering to.