]> matita.cs.unibo.it Git - helm.git/blob - helm/papers/use_case/stats/group.xsl
ocaml 3.09 transition
[helm.git] / helm / papers / use_case / stats / group.xsl
1 <?xml version="1.0"?>
2
3 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
4
5 <xsl:param name="cluster" select="50000"/>
6 <xsl:param name="upper_limit" select="1200000"/>
7
8 <xsl:output method="xml"/>
9
10 <xsl:template match="/">
11 <groups>
12   <xsl:call-template name="group-by-nodes"/>
13 </groups>
14 </xsl:template>
15
16 <xsl:template name="group-by-nodes">
17   <xsl:param name="base" select="0"/>
18   <xsl:if test="$base &lt;= $upper_limit">
19     <xsl:variable name="count" select="count(//stats[number(elements/total) + number(text-nodes/total) &gt;= $base
20                                                      and number(elements/total) + number(text-nodes/total) &lt; $base + $cluster])"/>
21     <group begin="{$base}" end="{$base + $cluster}">
22       <xsl:value-of select="$count"/>
23     </group>
24     <xsl:call-template name="group-by-nodes">
25       <xsl:with-param name="base" select="$base + $cluster"/>
26     </xsl:call-template>
27   </xsl:if>
28 </xsl:template>
29
30 </xsl:stylesheet>
31