XML and streaming, and more specifically, XSLT and streaming, is often avoided by programmers because they think that streaming is hard. They worry that when they have to rewrite their stylesheets to allow streamed processing, that the stylesheets become less maintainable, (much) harder to develop and that following the Rules on Streamability, in the absence of a good tutorial or book on the subject, is excruciatingly hard and arduous when the only reference they can refer to is the Latest Working Draft on XSLT, section 19.
This paper goes further where a previous paper by me left off. This previous paper explains ten rules of thumb for streaming, which will be briefly iterated over in this paper, see Section 4, "Brief overview of the Ten Rules of Thumb of streaming". This paper expands on that by showing streaming refactoring design patterns that turn typical non-streaming XSLT programming scenarios into streaming ones. They can be found in Section 5, "Streaming Design Patterns", the text being specifically geared towards programmers new to streaming.