Subject: Re: question on EXSLT data partitioning
From: Hermann Stamm-Wilbrandt <STAMMW@xxxxxxxxxx>
Date: Wed, 20 Oct 2010 14:56:54 +0200
|
> It should be possible without recursion
> <xsl:for-each select="Entity[(position() - 1) mod $N = 0]">
> <arguments>
> <xsl:apply-templates select=". |
> following-sibling::Entity[position() < $n"/>
> </arguments>
> </xsl:for-each>
Thanks Martin, that is perfect
> But I am not sure whether that is the approach you don't want.
Yes, that is what I wanted.
Mit besten Gruessen / Best wishes,
Hermann Stamm-Wilbrandt
Developer, XML Compiler, L3
Fixpack team lead
WebSphere DataPower SOA Appliances
----------------------------------------------------------------------
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter
Geschaeftsfuehrung: Dirk Wittkopp
Sitz der Gesellschaft: Boeblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294
From: Martin Honnen <Martin.Honnen@xxxxxx>
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Date: 10/19/2010 08:09 PM
Subject: Re: question on EXSLT data partitioning
Hermann Stamm-Wilbrandt wrote:
> yesterday I was asked by a colleague on data partitioning.
> He wanted to partition 100000s of Entities in blocks of 1000
> for sending a single Database update for 1000 entities.
>
> Below is the simplified input, partition size is N=3 and the
> requested output. Below that is the solution I provided.
>
> Here are my questions:
> * can this task be done without recursion in EXSLT?
> [the colleage did not like the idea of doing the partitioning with
> just XPath (1<=position()<=1000, 1001<=position()<=2000, ...)
> because of the 6 digit number of entities]
It should be possible without recursion
<xsl:for-each select="Entity[(position() - 1) mod $N = 0]">
<arguments>
<xsl:apply-templates select=". |
following-sibling::Entity[position() < $n"/>
</arguments>
</xsl:for-each>
But I am not sure whether that is the approach you don't want.
--
Martin Honnen
http://msmvps.com/blogs/martin_honnen/
|