[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: How to efficiently obtain the first 10 records of
Just put it through a streaming XSLT 3.0 processor and it should work just fine. Note, even a non-streaming XSLT processor, if it has a half-way decent optimizer, should stop processing after the 10th record. The difference with a streaming processor is that it will stop the XML parser reading the rest of the file and building the tree in memory. Michael Kay Saxonica > On 19 Jul 2023, at 16:16, Roger L Costello costello@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > Hi Folks, > > I have an XML file containing over 2 million <record> elements. I want to obtain the first 10 <record> elements. > > Here's how I did it: > > <xsl:for-each select="/Document/record[position() le 10]"> > <xsl:sequence select="."/> > </xsl:for-each> > > I ran it and it took a long time to complete. I am guessing that the XSLT processor is iterating over all 2 million <record> elements. Yes? How to write the XSLT code so that the XSLT processor stops iterating upon processing the first 10 <record> elements? > > /Roger
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|