Re: [xsl] HELP! The XSLT may be easy, but I could not figure it out

Subject: Re: [xsl] HELP! The XSLT may be easy, but I could not figure it out
From: David Carlisle <davidc@xxxxxxxxx>
Date: Mon, 7 Feb 2005 14:50:55 GMT
Please use more descriptive subject line in future.

this is a standard grouping problem, the faq or jeni tennison's site
have some examples.

However


<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                version="1.0">



<xsl:output indent="yes"/>

<xsl:template match="response">
<response>
<xsl:apply-templates select="all/data[substring(.,6)='A']"/>
</response>
</xsl:template>

<xsl:template match="data">
<group>
 <amount><xsl:value-of select="."/></amount>
 <xsl:apply-templates select="following-sibling::data[1]" mode="b"/>
</group>
</xsl:template>

<xsl:template match="data" mode="b"/>

<xsl:template match="data[substring(.,6)='B']" mode="b">
<amount><xsl:value-of select="."/></amount>
 <xsl:apply-templates select="following-sibling::data[1]" mode="b"/>
</xsl:template>


</xsl:stylesheet>





goes from:





<response>
  <all>
    <data>12345A</data>
    <data>22345B</data>
    <data>32345A</data>
    <data>42345B</data>
    <data>52345B</data>
    <data>62345A</data>
    <data>72345A</data>
  </all>
</response>



to this:





<response>
   <group>
      <amount>12345A</amount>
      <amount>22345B</amount>
   </group>
   <group>
      <amount>32345A</amount>
      <amount>42345B</amount>
      <amount>52345B</amount>
   </group>
   <group>
      <amount>62345A</amount>
   </group>
   <group>
      <amount>72345A</amount>
   </group>
</response>


________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

Current Thread