[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: How to stream-process non-XML text using unparsed

Subject: Re: 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
Re:  How to stream-process non-XML text using  unparsed
> 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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.