Subject: Re: Numbering new nodes using consecutive integers
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 27 Mar 2009 21:58:30 GMT
|
me> oops that was wrong (thanks to Ken for pointing that out)
perhaps this is less wrong.
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes" encoding="iso-8859-1"/>
<xsl:strip-space elements="*"/>
<!-- How many M elements per G2 element? -->
<xsl:variable name="M-per-G2" select="2"/>
<xsl:template match="Groups">
<xsl:copy>
<xsl:apply-templates
select="G1/M[ position() mod $M-per-G2 = 1 ]" mode="group"/>
</xsl:copy>
</xsl:template>
<xsl:template match="M" mode="group">
<G2 no="{position()}"><!-- I want this GR to be numbered sequentially. -->
<xsl:copy-of select="
. | following-sibling::M[position() < $M-per-G2]"/>
</G2>
</xsl:template>
<xsl:template match="@*|node()"><!-- copy template -->
<xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy>
</xsl:template>
</xsl:stylesheet>
________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs.
________________________________________________________________________
|