Subject: Re: [xsl] Alphabetical index: unstreamable? From: "Dimitre Novatchev dnovatchev@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed, 28 May 2014 14:05:39 -0000 |
Without having any details of the source XML document and the required properties/formatting of the index, I would use a map to hold the entries of the index and will continuously "update" this map with new entries as the document is streamed. This is the main principle also in using accumulators, or just functions like fold-left(). On Wed, May 28, 2014 at 5:35 AM, Michael MC<ller-Hillebrand mmh@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Dear all, > > In documents the content of what will end up in an alphabetical index is usually authored in the section to which the index term belongs. That is, index terms are usually all over the place. > > When it is time to create an alphabetical index, I see that the XSLT handling this uses something like > > <xsl:call-template name="index"> > <xsl:with-param name="terms" select="//indexterm" /> > </xsl:call-template> > > and inside the called template all the sorting and grouping is handled. > > This is not streamable because there is more than a single downward select (and it is easy to see that you need everything in memory to create the sequence of all <indexterm>). > > How would you tackle this (in XSLT) if the source data does not fit in memory? > > Thanks a lot for hints, > > - Michael MC<ller-Hillebrand > -- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- Never fight an inanimate object ------------------------------------- To avoid situations in which you might make mistakes may be the biggest mistake of all ------------------------------------ Quality means doing it right when no one is looking. ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play ------------------------------------- To achieve the impossible dream, try going to sleep. ------------------------------------- Facts do not cease to exist because they are ignored. ------------------------------------- Typing monkeys will write all Shakespeare's works in 200yrs.Will they write all patents, too? :) ------------------------------------- I finally figured out the only reason to be alive is to enjoy it.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Alphabetical index: unstr, Jirka Kosek jirka@xx | Thread | Re: [xsl] Alphabetical index: unstr, Michael Müller-Hille |
Re: [xsl] Alphabetical index: unstr, Jirka Kosek jirka@xx | Date | Re: [xsl] Alphabetical index: unstr, Michael Müller-Hille |
Month |