xsl-list
[Top] [All Lists]

Re: [xsl] How to stream-process non-XML text using unparsed-text-lines( ) ?

2014-07-24 12:08:04







So, what will happen for this expression:



unparsed-text-lines(...)[3]
Saxon will read the first three
items, deliver the third, and read no further. With luck, it will remember
to close the file.





Will referencing the 1000th line and then referencing the 10th line
work?



Yes. In this case you will need a variable, something
like
 
let $x := unparsed-text-lines(...)
return
($x[1000], $x[10])
Saxon implements $x using a data structure called
a MemoClosure where items from the input are read on-demand, and then
remembered. Reading $x[1000] will cause the first 1000 items to be read
and retained in memory; reading $x[10] finds that the tenth item is
already in memory. No further items from the file are requested, so none
are read. And I suspect the input file never gets closed....
Michael
Kay
Saxonica
--~----------------------------------------------------------------
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
--~--
<Prev in Thread] Current Thread [Next in Thread>