1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| <xsl:template name="recursive" match= "SpecificSection">
<xsl:param name="counter" />
<xsl:variable name="nb"/>
<xsl:if test="@type='split'">
<xsl:variable name="separator" select="@separator"/>
<xsl:for-each-group select="//*" group-by="@level">
<xsl:variable name="level" select="tokenize(@level, ';')"/>
<xsl:element name="{$level[2]}" namespace="{namespace-uri()}">
<xsl:for-each select="current-group()">
<xsl:variable name="tokenizedSample" select="tokenize(current(), $separator)"/>
<xsl:element name="{name(.)}" namespace="{namespace-uri()}">
<xsl:value-of select="$tokenizedSample[$counter]" ></xsl:value-of>
</xsl:element>
</xsl:for-each>
</xsl:element>
<xsl:if test="$counter < 4">
<xsl:call-template name="recursive">
<xsl:with-param name="counter" select="$counter+1"/>
</xsl:call-template>
</xsl:if>
</xsl:for-each-group>
</xsl:if>
</xsl:template> |
Partager