Excellent stuff, Roger.
Two points of detail:
(a) the slides assert that without a streaming processor / streamable
stylesheet / XSLT 3.0, the result tree will be built in memory rather than
being streamed out directly to the serializer. As far as I know this isn't
true: I think most XSLT processors will stream the output by default. XSLT 3.0
is all about streaming the input; output streaming has never been a problem.
(b) there's a statement that Saxon buffers the output. I know we explored this
last year. The output IS being buffered, but not by Saxon. I think we concluded
that the buffering is happening somewhere either in Java or in the operating
system -- I don't remember the details. But it's not being buffered within
Saxon, and I'm pretty sure it can be prevented by configuring everything
correctly, e.g. by supplying the right kind of OutputStream to accept the
output.
Michael Kay
Saxonica
mike(_at_)saxonica(_dot_)com
+44 (0) 118 946 5893
On 14 Jan 2015, at 23:18, Costello, Roger L. costello(_at_)mitre(_dot_)org
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:
Hi Folks,
Want to process web sites that emit a continuous stream of XML?
Want to process XML documents that are huge -- Gigabytes in size?
Want to generate huge amounts of output, without waiting for all the output
to be completed?
You can do all these things with XML Streaming. [1]
Here is my tutorial on XML Streaming:
http://xfront.com/xml-streaming/
/Roger
[1] XML Streaming is provided by XSLT, so it is also known as XSLT Streaming.
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--