RE: [xsl] How to convert flat data to hierarchical data

Subject: RE: [xsl] How to convert flat data to hierarchical data
From: "Andreas L. Delmelle" <a_l.delmelle@xxxxxxxxxx>
Date: Mon, 26 Apr 2004 19:24:20 +0200
> -----Original Message-----
> From: Hansen, John [mailto:John.Hansen@xxxxxxxxxx]
> 
> Is there a simple stylesheet that will transform the flat data shown
> below into the hierarchical form that is at the end of this email?  I

Hi,

Depends on what you call simple, doesn't it? I'd suggest something like:

<xsl:stylesheet ...>

<xsl:key name="by-parent" match="EmployeeGroup"
         use="Parent/@SK" />

<xsl:template match="/">
  <xsl:apply-templates select="EmployeeGroup[not(Parent/@SK)]" />
</xsl:template>

<xsl:template match="EmployeeGroup">
  <xsl:copy>
    <xsl:copy-of select="@*" />
    <xsl:copy-of select="*[not(name()='Parent')]" />
    <xsl:apply-templates select="key('by-parent',@SK)" />
  </xsl:copy>
</xsl:template>

</xsl:stylesheet>

Beware though: untested.


HTH!

Cheers,

Andreas

Current Thread