Subject: Re: [xsl] How to stream-process non-XML text using unparsed-text-lines( ) ? From: "mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 24 Jul 2014 17:07:53 -0000 |
> 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to stream-process non, Dimitre Novatchev dn | Thread | Re: [xsl] How to stream-process non, Martin Honnen martin |
Re: [xsl] How to stream-process non, Dimitre Novatchev dn | Date | Re: [xsl] How to stream-process non, Martin Honnen martin |
Month |