|
Subject: Re: [xsl] Processing node-sets in batches From: Liam R E Quin <liam@xxxxxx> Date: Mon, 08 Mar 2010 15:40:21 -0500 |
On Sun, 2010-03-07 at 15:50 -0800, Jeff Hooker wrote:
> I'm trying to create a reference table for a ridiculously large
> document. The resulting table is sufficiently huge that it's causing
> java memory shortages when I try to churn it into XML because of the
> degree of recursion in the table processing scripts, so I'm trying to
> read all of the nodes into a node-set() and process them out into a
> series of 100-row tables.
Sounds like you are for some reason using XSLT 1 here. When XSLT 1
was being developed in the 1990s, 50 megabytes was considered a
large XML document...
> I'm sure that there's a simple way of doing this; I'm also sure that
> I've abjectly failed to find it. Are there any good samples of
> processing node-sets() in batches out there? The main issue that I'm
> having is closing off a table at regular intervals and starting a new
> one; all of my tables currently ended up nested within each other.
You need to think not in terms of opening and closing tags, but in
terms of grouping a set of items together, and processing all the
items in that group. Maybe that's what you mean by the node-set(),
although just using a for-each can work too. You could even do,
<xsl:for-each select="row[position() mod 100 = 1]">
xsl:apply-templates
select=".|following-sibling::row[position() < 100" />
</xsl:for-each>
Liam
--
Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/
Pictures from old books: http://fromoldbooks.org/
Ankh: irc.sorcery.net irc.gnome.org www.advogato.org
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Processing node-sets in b, David Carlisle | Thread | Re: [xsl] Processing node-sets in b, Michael Ludwig |
| [xsl] XML access control by custom , Jacobus Reyneke | Date | Re: [xsl] reading a .xsv file in xs, a kusa |
| Month |