[Home] [By Thread] [By Date] [Recent Entries]
On 08/04/2011 23:09, Christian Sestier wrote:
<terms><sequence> <value>THREE/TWO/ONE</value></sequence><sequence> <value>THREE BIS/TWO BIS/ONE BIS</value></sequence><sequence> <value>THREE TER/TWO BIS/ONE BIS</value></sequence><sequence><value>ONE FOURTH</value></terms> saxon9 ter.xml ter.xsl
<terms>
<sequence>
<value>THREE/TWO/ONE</value>
</sequence>
<sequence>
<value>THREE BIS/TWO BIS/ONE BIS</value>
</sequence>
<sequence>
<value>THREE TER/TWO BIS/ONE BIS</value>
</sequence>
<sequence>
<value>ONE FOURTH</value>
</sequence>
</terms><xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output indent="yes" omit-xml-declaration="yes"/> <xsl:template match="terms"> <terms> <xsl:for-each-group select="term" group-starting-with="term[@level=1]"> <xsl:variable name="l" select="current-group()[last()]/@level"/> <xsl:for-each select="current-group()[@level=$l]"> <sequence> <value> <xsl:value-of select="value,reverse(current-group()[@level!=$l]/value)" separator="/"/> </value> </sequence> </xsl:for-each> </xsl:for-each-group> </terms> </xsl:template> </xsl:stylesheet> David
|

Cart



