Re: [xsl] question on EXSLT data partitioning

Subject: Re: [xsl] question on EXSLT data partitioning
From: Erwan AMOUREUX <erwan.amoureux@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 20 Oct 2010 15:50:19 +0200
For me it's logical
When you use global variable, current node is root, so with the key ,it's the
same thing and position is calculated with the root as initial context
----- Message d'origine -----
De : "Martin Honnen" <Martin.Honnen@xxxxxx>
@ : <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Envoyi : mercredi 20 octobre 2010 15:32
Objet : Re: [xsl] question on EXSLT data partitioning


> Erwan AMOUREUX wrote:
>> Fisrt sorry for my english, litlle out of practice
>>
>> Second, for this data volume , it would be nice to use key, isn't it ?
>> You cannot use a variable for modulo but that accelerate processing
>>
>> <xsl:key name="part" match="Entity" use="(position() - (position() mod
1000)) div 1000 ">
>> [...]
>> <xsl:for-each select="Entity[position()  mod 1000 = 0]">
>>       <arguments>
>>         <xsl:apply-templates select ="key('part',position() div 1000) ">
</arguments>
>>     </xsl:for-each>
>>
>> [...]
>>
>> I can't test (and make always error with modulo and other...) but that's
the scheme
>
> I agree that using a key makes sense but as far as I understand it when
> you use position() in the "use" expression of an "xsl:key" element it
> should be always 1. I have however found XSLT processors that implement
> that differently.
>
> --
>
> Martin Honnen
> http://msmvps.com/blogs/martin_honnen/

Current Thread