xsl-list
[Top] [All Lists]

Re: [xsl] question on EXSLT data partitioning

2010-10-20 08:50:38
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(_dot_)Honnen(_at_)gmx(_dot_)de>
À : <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Envoyé : 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/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--